HODG: high-order discontinuous Galerkin methods for solving compressible Euler and Navier-Stokes equations - an open-source component-based development framework
In this work, we present HODG, an open-source component-based development framework based on high order Discontinuous Galerkin (DG) methods for solving compressible Euler and Navier-Stokes equations. This framework is written in pure C++11, and proposes “component” as the basic function unit, which is the key to the Interface-Oriented Programming principle and Aspect-Oriented Programming (AOP) technology. Built on the top-level design of components, HODG is a flexible yet pragmatic development framework that works right out of the box and is easy to use for starters and developers. The current release of HODG supports structured, unstructured, hybrid, and second-order meshes available. It is capable of solving Euler and Navier-Stokes (N-S) equations in two dimensions and three dimensions. In this development framework, spatial accuracy is easy to be extended to higher orders, and DG-P0, DG-P1, DG-P2 (up to third order) are implemented in the current version. Moreover, implicit temporal discretization and explicit discretization are available. Especially for viscous fluxes, the direct Discontinuous Galerkin (DDG) formulation and Bassi and Rebay II (BR2) scheme are implemented. In the case of strong discontinuities or shock waves, artificial viscosity is applied to capture shock waves. Various benchmark numerical examples are provided to demonstrate the full capabilities of HODG. The software is freely available under an MIT license.