Table of Contents
Fetching ...

A Positivity-Preserving Relaxation Algorithm

Thomas Izgin, Hendrik Ranocha, Chi-Wang Shu

Abstract

We combine Patankar-type methods with suitable relaxation procedures that are capable of ensuring correct dissipation or conservation of functionals such as entropy or energy while producing unconditionally positive and conservative approximations. To that end, we adapt the relaxation algorithm to enforce positivity by using either ideas from the dense output framework when a linear invariant must be preserved, or simply a geometric mean if the only constraint is positivity preservation. The latter merely requires the solution of a scalar nonlinear equation while former results in a coupled linear-nonlinear system of equations. We present sufficient conditions for the solvability of the respective equations. Several applications in the context of ordinary and partial differential equations are presented, and the theoretical findings are validated numerically.

A Positivity-Preserving Relaxation Algorithm

Abstract

We combine Patankar-type methods with suitable relaxation procedures that are capable of ensuring correct dissipation or conservation of functionals such as entropy or energy while producing unconditionally positive and conservative approximations. To that end, we adapt the relaxation algorithm to enforce positivity by using either ideas from the dense output framework when a linear invariant must be preserved, or simply a geometric mean if the only constraint is positivity preservation. The latter merely requires the solution of a scalar nonlinear equation while former results in a coupled linear-nonlinear system of equations. We present sufficient conditions for the solvability of the respective equations. Several applications in the context of ordinary and partial differential equations are presented, and the theoretical findings are validated numerically.

Paper Structure

This paper contains 31 sections, 8 theorems, 128 equations, 6 figures.

Key Result

Theorem 1

Consider the relaxation procedure eq:System_Relaxation_step with a numerical method of order $p$ and $\Delta t>0$ sufficiently small. If then there exists a unique $\gamma=1+\mathcal{O}(\Delta t^{p-1})$ that satisfies eq:System_Relaxation_step. Additionally, the relaxation method is of order $p$, that is $\mathbf{u}_\gamma^n=\mathbf{u}(t_\gamma^n)+\mathcal{O}(\Delta t^{p+1})$. In particular, ther

Figures (6)

  • Figure 1: Numerical solution of Lotka Volterra problem using MPRK22(1) (top) and $\Delta t=1$. The error is $\text{err}^n=\max(\lvert u_1^n-u_1^{\text{ref},n}\rvert, \lvert u_2^n-u_2^{\text{ref},n}\rvert)$. Left: without relaxation. Right: with relaxation.
  • Figure 2: Reference solution of the scaled stratospheric problem \ref{['eq:strat']} depicted over the time interval $[12,84]$ in hours.
  • Figure 3: Numerical solution of stratospheric reaction problem using standard MPRK22adap(1) (left) with $\texttt{rtol}=\texttt{atol}=10^{-3}$ and $\Delta t_0=0.01h$. Top: without relaxation. Middle: with relaxation (Regula Falsi) and initial $\Delta t=0.01h$. Bottom: Plots of $\Delta t$ and $\gamma$ for the run with relaxation.
  • Figure 4: Numerical solution of linear advection equation using MPSSPRK(0.5,1) ((a)-(b)), MPRK43adap(0.5,0.75) ((c)-(d)), and MPRK22adap(1) ((e)-(f)) with $\texttt{rtol}=\texttt{atol}=10^{-3}$, $N=100$, and $\Delta t_0=\Delta x$. Left: without relaxation. Right: with relaxation.
  • Figure 5: Numerical solution of isothermal Euler equations with $N_x=100$ using MPRK22adap(1) with $\texttt{rtol}=\texttt{atol}=10^{-3}$ and $\Delta t=\Delta x$. Left: without relaxation. Right: with relaxation.
  • ...and 1 more figures

Theorems & Definitions (25)

  • Theorem 1: ranocha2020general
  • Remark 1: Issue with positivity
  • Example 1: Second-order Family
  • Example 2: Third-order Family
  • Remark 2
  • Corollary 1: ranocha2020general
  • Remark 3: Positivity-preserving relaxation for convex $\eta$
  • Example 3: Second-order dense output for MPRK22($\alpha$)
  • Example 4: Higher order positive dense output for MPRK
  • Example 5: Second-order dense output for MPSSPRK
  • ...and 15 more