Currently job artifacts in CI/CD pipelines on LRZ GitLab never expire. Starting from Wed 26.1.2022 the default expiration time will be 30 days (GitLab default). Currently existing artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

@@ -253,78 +253,6 @@ with each cell being divided in a set of $2N+1$ subcells. Taken from~\cite{ADERC

\caption[Sketch (borrowed): DG-FV DOF mapping.]{Projection to and recovery from the finite volume solver with $2N+1$ subcells for an polynomial order $N$ ADER-DG polynomial. The figure shows one cell with $N=8$. Taken from~\cite{Dumbser15}.}\label{fig:limiter-P7bis}

\end{figure}

\section{Optional tuning parameters}

\begin{warning}

This section is not up to date anymore.

\end{warning}

The \texttt{Limiting-ADER-DG} solver offers an optional tuning parameter

\texttt{helper-layers}. This parameter can be used for

enabling the solver to anticipate the propagation of troubled cells.

In the default configuration with \texttt{helper-layers}=1,

the \texttt{Limiting-ADER-DG} solver builds up two layers

of helper cells around a troubled cell.

In the one layer (FV helper cell domain), we compute with the FV solver and

project the result onto the DG space.

In the other layer (DG helper cell domain),

we compute with the ADER-DG method and project the result onto

a FV subgrid.

Everytime the configuration of troubled cells in the grid

changes, we need to step out of the time stepping loop

and rebuild these helper domains.

If a value \texttt{helper-layers}>1 is chosen, more than one layer for

constructing the FV and DG helper cell domains is used.

This means if a cell happens to be flagged as troubled within

the inner layers of the FV helper cell domain, it already

computes its solution using the FV solver and is further

surrounded by FV helper cells. We then do not need to step out of the time

stepping loop in order update the ADER-DG and FV domain.

The ADER-DG and FV helper domains are then rebuild on-the-fly during the

next time steps.

Using this feature comes with the price of a higher cost per time step

as well as the introduction of additional numerical diffusion.

However it might reduce the total runtime by skipping

multiple helper domain rebuilds.

\begin{code}

[..]

solver Limiting-ADER-DG MySolver

variables const = rho:1,j:3,E:1

order const = 3

maximum-mesh-size = 0.03704

time-stepping = global

type const = nonlinear

terms const = flux

optimisation const = generic

language const = C

limiter-type const = musclhancock

limiter-optimisation const = generic

limiter-language const = C

dmp-observables = 5

dmp-relaxation-parameter = 1e-4

dmp-difference-scaling = 1e-3

steps-till-cured = 0

helper-layers = 1

[..]

end solver

[..]

\end{code}

We have recognised that a seemingly cured troubled cell becomes

troubled again after few iterations.

The \texttt{Limiting-ADER-DG} offers to specify a

time window \texttt{steps-till-cured} which

determines how long a troubled cell should still be regarded

as troubled after it was marked as cured.

This optional parameter defaults to 0.

Using this feature comes with the price of a potentially

higher cost per time step as well as the introduction of additional

numerical diffusion.

However it might reduce the total runtime by skipping

multiple helper domain rebuilds.

\section{Hands on: Implementing a limited solver}

This section shall give a few tips how to solve a PDE with the LimitedADERDG framework of ExaHyPE. We refer to the FAQ chapter \ref{sec:chapter-faq} in the appendix for general tips.