Download PDFOpen PDF in browser

Experimental PDE Solver in Julia – Comparison of Flux Limiting Schemes

EasyChair Preprint 8878

8 pagesDate: September 26, 2022

Abstract

Finite Volume Methods (FVM) are high-quality methods for solving conservative/hyperbolic partial differential equations (PDEs). A popular class of high-resolution methods utilizes a nonlinear combination of low order methods and high order methods via flux limiting functions. Another class of high-resolution methods is the class of weighted essentially non-oscillatory (WENO) schemes. Here, the focus is on flux-limiting schemes. An experimental finite volume (FV) semi-discrete solver for systems of hyperbolic PDEs has been implemented in Julia, utilizing Julia’s DifferentialEquations.jl package for handling the time marching. A first-order upwind formulation is used for the low order method, and a central second-order formulation is used for the high order method. The PDE can be provided either in flux form or in quasi-linear form. In the former case, the automatic differentiation (AD) package ForwardDiff.jl is used to compute the Jacobians of the flux vector. Package LinearAlgebra.jl is used to compute the eigenspace of the Jacobians. The implementation allows for up to 3 internal/external coordinates. More than a dozen flux limiting functions are given, with the possibility of the users writing their own flux limiters. The implementation allows for user provided spatial discretization points and source terms in the PDE. In this paper, we will compare various flux limiting schemes for PDEs with analytic solutions, and will also compare flux limiting schemes for a simple granulation model (layering). Possible extensions of the experimental implementation include: (i) higher-order methods, (ii) more extensive support for boundary conditions, (iii) improved support for source terms.

Keyphrases: Flux Limiting Method, High Resolution Scheme, Julia implementation, finite volume method, partial differential equations

BibTeX entry
BibTeX does not have the right entry for preprints. This is a hack for producing the correct reference:
@booklet{EasyChair:8878,
  author    = {Amir Farzin and Zahir Barahmand and Bernt Lie},
  title     = {Experimental PDE Solver in Julia – Comparison of Flux Limiting Schemes},
  howpublished = {EasyChair Preprint 8878},
  year      = {EasyChair, 2022}}
Download PDFOpen PDF in browser