Overview

DoGPack is a software package for solving hyperbolic conservation laws using a modal discontinuous Galerkin discretizations. It has been designed with easy extensibility, performance, and exploration in mind. The main parts of the code are written in C++. This code outputs to files that can be read and processed by Python scripts that are part of the DoGPack distribution.

DoGPack features:

  • Solves general hyperbolic PDEs in 1D, 2D, and 3D, including Cartesian, mapped grid Cartesian, and simplex-based unstructued grids.

  • Basic user inputs are handled through a parameters.ini input file.

  • Several examples including advection, burgers, acoustics, shallow water, compressible Euler, and ideal MHD are part of the current release.

  • Vizualization is done through Python scripts that are part of the DoGPack distribution.

  • The basic structure of DoGPack is as follows (not all features are available in the current release version):
    • Dimension: 1D, 2D, or 3D

    • Grid type: Cartesian, unstructured (i.e., triangles or tetrahedrals), or mapped Cartesian

    • Basis: Legendre (aka modal DG) or Lagrange (aka nodal DG)

    • Time-stepping method: Runge-Kutta (explicit single-step multi-stage) or Lax-Wendroff (explicit single-step single-stage)

    • Limiters: moment limiters or bounds limiters

    • Positivity-preservation

  • The philososphy of DoGPack is that it is written so that additional features can easily be added (e.g., different Riemann solvers, different time-stepping methods, etc.)

You can get the latest development version of DoGPack from https://bitbucket.org/imsejae/dogpack.

If you have any issues or need help using DoGPack, send e-mail to help@dogpack-code.org

DoGPack: Discontinuous Galerkin Package

Note

In order to run examples on unstructured meshes, DoGPack requires a mesh generator that produces a mesh in a format that can be read by the DoGPack routines. MeshGenC++ is such a mesh generator and can be obtained at the following website: http://www.dogpack-code.org/MeshGenC++/.

Indices and tables