https://github.com/danieldoehring/paper-2025-perrk
Reproducibility Repository for the paper "Paired Explicit Relaxation Runge-Kutta Methods: Entropy Conservative/Stable High-Order Optimized Multirate Time Integration"
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.9%) to scientific vocabulary
Keywords
Repository
Reproducibility Repository for the paper "Paired Explicit Relaxation Runge-Kutta Methods: Entropy Conservative/Stable High-Order Optimized Multirate Time Integration"
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 1
- Releases: 3
Topics
Metadata Files
README.md
paper-2025-perrk
This repository contains information and code to reproduce the results presented in the article
bibtex
@online{doehring2025Paired
title={Paired Explicit Relaxation Runge-Kutta Methods: Entropy-Conservative and Entropy-Stable High-Order Optimized Multirate Time Integration},
author={Doehring, Daniel and Ranocha, Hendrik and Torrilhon, Manuel},
year={2025},
eprint={2507.04991},
eprinttype={arxiv},
eprintclass={math.NA},
url={https://arxiv.org/abs/2507.04991},
journal={arXiv preprint arXiv:2507.04991},
doi={10.48550/arXiv.2507.04991}
}
If you use the implementations provided here, please also cite this repository as
bibtex
@misc{doehring2025PERRK_ReproRepo,
title={Reproducibility repository for "Paired Explicit Relaxation Runge-Kutta Methods: Entropy Conservative/Stable High-Order Optimized Multirate Time Integration"},
author={Doehring, Daniel and Ranocha, Hendrik and Torrilhon, Manuel},
year={2025},
howpublished={\url{https://github.com/DanielDoehring/paper-2025-perrk}},
doi={https://doi.org/10.5281/zenodo.15601890}
}
Abstract
We present novel entropy conservative and entropy stable multirate Runge-Kutta methods based on Paired Explicit Runge-Kutta (P-ERK) schemes with relaxation for conservation laws and related systems of partial differential equations. Optimized schemes up to fourth-order of accuracy are derived and validated in terms of order of consistency, conservation of linear invariants, and entropy conservation/stability.
We demonstrate the effectiveness of these P-ERRK methods when combined with a high-order, entropy-conservative/stable discontinuous Galerkin spectral element method on unstructured meshes. The Paired Explicit Relaxation Runge-Kutta methods (P-ERRK) are readily implemented for partitioned semidiscretizations arising from problems with equation-based scale separation such as non-uniform meshes. We highlight that the relaxation approach acts as a time-limiting technique which improves the nonlinear stability and thus robustness of the multirate schemes.
The P-ERRK methods are applied to a range of problems, ranging from compressible Euler over compressible Navier-Stokes to the visco-resistive magnetohydrodynamics equations in two and three spatial dimensions. For each test case, we compare computational load and runtime to standalone relaxed Runge-Kutta methods which are outperformed by factors up to four. All results can be reproduced using a publicly available repository.
Reproducing the results
Installation
To download the code using git, use
bash
git clone git@github.com:DanielDoehring/paper-2025-perrk.git
If you do not have git installed you can obtain a .zip and unpack it:
bash
wget https://github.com/DanielDoehring/paper-2025-perrk/archive/refs/heads/main.zip
unzip main.zip
mv mv paper-2025-perrk-main/ paper-2025-perrk
To instantiate the Julia environment execute the following two commands:
bash
cd paper-2025-perrk/
julia --project=. -e 'using Pkg; Pkg.instantiate()'
Note that the results are obtained using Julia 1.10.9, which is also set in the Manifest.toml.
Thus, you might need to install the Julia 1.10.9 LTS release first
and replace the julia calls from this README with
/YOUR/PATH/TO/julia-1.10.9/bin/julia
Project initialization
If you installed Trixi.jl this way, you always have to start Julia with the --project flag set to your paper-2025-perrk directory, e.g.,
bash
julia --project=.
if already inside the paper-2025-perrk directory.
If you do not execute from the paper-2025-perrk directory, you have to call julia with
bash
julia --project=/YOUR/PATH/TO/paper-2025-perrk
Running the code
The scripts for validations and applications are located in the 3_PERRK_Methods, 4_Validation, and 5_Applications directory, respectively.
To execute them provide the respective path:
bash
julia --project=. ./4_Validation/4_1_EntropyConservation/4_1_1_WeakBlastWave_Euler_MHD/elixir_euler_weak_blast_er.jl
For all cases in the 5_Applications directory the solution has been computed using a specific number of
threads.
To specify the number of threads the --threads flag needs to be given, i.e.,
bash
julia --project=. --threads 6 ./5_Applications/5_3_NACA0012_AMR/elixir_euler_NACA0012airfoil_mach08.jl
The number of threads used for the examples are given in the README.md in 5_Applications.
Authors
- Daniel Doehring (Corresponding Author)
- Hendrik Ranocha
- Manuel Torrilhon
Note that the Trixi authors are listed separately here.
Disclaimer
Everything is provided as is and without warranty. Use at your own risk!
Owner
- Name: Daniel Doehring
- Login: DanielDoehring
- Kind: user
- Repositories: 13
- Profile: https://github.com/DanielDoehring
Graduate/PhD Computational Engineering & Science student
GitHub Events
Total
- Release event: 2
- Public event: 1
- Push event: 9
- Create event: 2
Last Year
- Release event: 2
- Public event: 1
- Push event: 9
- Create event: 2