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++/.