Quail: A lightweight open-source discontinuous Galerkin code in Python for teaching and prototyping

In this paper, we present Quail, a lightweight discontinuous Galerkin solver written in Python. The aim of this code is to serve not only as a teaching tool for newcomers to the rapidly growing field, but also as a prototyping platform for testing algorithms, physical models, and other features in t...

Full description

Saved in:
Bibliographic Details
Published inSoftwareX Vol. 17; p. 100982
Main Authors Ching, Eric J., Bornhoft, Brett, Lasemi, Ali, Ihme, Matthias
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.01.2022
Elsevier
Subjects
Online AccessGet full text
ISSN2352-7110
2352-7110
DOI10.1016/j.softx.2022.100982

Cover

More Information
Summary:In this paper, we present Quail, a lightweight discontinuous Galerkin solver written in Python. The aim of this code is to serve not only as a teaching tool for newcomers to the rapidly growing field, but also as a prototyping platform for testing algorithms, physical models, and other features in the discontinuous Galerkin framework. Code readability, modularity, and ease of use are emphasized. Currently, Quail solves first- and second-order partial differential equations on 1D and 2D unstructured meshes. A variety of time stepping schemes, quadrature rules, basis types, equation sets, and other features are included. The structure and capabilities of the code, as well as representative examples involving propagation of a 2D isentropic vortex and a 2D Riemann problem with a gravity source term, will be discussed.
ISSN:2352-7110
2352-7110
DOI:10.1016/j.softx.2022.100982