Site menu:

News:

Nov 12, 2007:
First version of our new group webpage is released!

Group wiki »
(restricted access)

The 3DG Computational Framework


Description

3DG is a software package for solving conservation laws numerically using the discontinuous Galerkin method. The methods allow for unstructured meshes in any space dimension, and arbitrary approximation orders in the discretization. The equations are discretized using the Compact Discontinous Galerkin (CDG) method. Solutions are represented by nodal basis functions on simplex meshes. The actual equations that are solved are separated from the core routines, in a so-called application definition file. This means for example that en end-user can work on new applications or modify existing applications without having to read or change the core routines and the solvers.

The functionality provided by the core includes the actual discretization of the equations (computation of residual and optionally derivatives with respect to the unknowns) and various solvers (explicit/implicit time stepping, damped Newton-GMRES for steady-state problems, sweepsolver for highly nonlinear problems). There are also a large number of utilities for tasks such as generation and manipulation of curved meshes and postprocessing and visualization of solutions.

The main part of 3DG is written in the C++ programming language, however all functionality is accessible from the MATLAB computing environment and many of the utility functions are written in plain text MATLAB code. It is, for example, easy to write a new solver or time integrator, by simply modifying the MATLAB code for the existing ones. Basic functionality such as residual and Jacobian evaluation are still performed by the core C++ functions.

The compressible Navier-Stokes application in 3DG provides capability for solving inviscid or viscous flows with several different boundary conditions. The derivatives of the expressions are computed automatically using a Maple interface, which is part of the 3DG framework.

Equations and Discretization

The 3DG framework solves time-dependent systems of conservation laws of the form,

  $\displaystyle \frac{\partial {u}}{\partial t} + \nabla\cdot {F}_i({u}) - \nabla\cdot {F}_v({u},{q}) = {S}({u},{q})\ ,$ (1)
  $\displaystyle {q} - \nabla{u} = 0 \ .$ (2)

in a domain $ \Omega$ , with conserved state variables $ {u}$ , inviscid flux function $ {F}_i$ , viscous flux function $ {F}_v$ , and source term $ {S}$ . The inviscid and viscous fluxes as well as the source term can be nonlinear functions of their arguments. We consider a triangulation $ {\cal T}_h$ of the spatial domain $ \Omega$ and introduce the finite element spaces $ V_h$ and $ \Sigma_h$ as

  $\displaystyle V_h = \{ {v} \in [L^2(\Omega)]^m \ \vert \ {v}\vert _K \in [{\cal P}_p(K)]^m, \ \ \forall K \in {\cal T}_h \} \ ,$ (3)
  $\displaystyle \Sigma_h = \{ {{r}} \in [L^2(\Omega)]^{dm} \ \vert \ {r}\vert _K \in [{\cal P}_p(K)]^{dm}, \ \ \forall K \in {\cal T}_h \} \ ,$ (4)

where $ {\cal P}_p(K)$ is the space of polynomial functions of degree at most $ p \ge 0$ on triangle $ K$ , $ m$ is the dimension of $ {u}$ and $ d$ is the spatial dimension.

We now consider DG formulations of the form: find $ { u}_h \in V_h$ and $ {q}_h \in \Sigma_h$ such that for all $ K \in {\cal T}_h$ , we have

  $\displaystyle \int_K {q}_h \cdot {r} \, dx = - \int_K {u}_h \nabla \cdot {r} \,...
...\hat{{u}} {r} \cdot {n} \, ds \ , \quad \forall {r} \in [{\cal P}_p(K)]^{dm} ,$ (5)
  $\displaystyle \int_K \frac{\partial {u}_h}{\partial t} {v} \, dx - \int_K [{F}_i({u}_h) - {F}_v({u}_h,{q}_h) ]\cdot \nabla {v} \, dx =$    
  $\displaystyle \int_K {S}({u}_h,{q}_h) {v} \, dx - \int_{\partial K} [\hat{{F}}...
... \hat{{F}}_v ] \cdot {n} v \, ds \ , \quad \forall {v} \in [{\cal P}_p(K)]^m .$ (6)

Here, the numerical fluxes $ \hat{{F}_i}$ , $ \hat{{F}_v}$ and $ \hat{{u}}$ are approximations to $ {F}_i$ , $ {F}_v$ and $ u$ respectively, on the boundary $ \partial K$ of the element $ K$ . The DG formulation is complete once these numerical fluxes are specified in terms of $ {q}_h$ and $ u_h$ and the boundary conditions.

The inviscid flux is determined using Roe's scheme whereas the viscous flux is calculated using the CDG method [1]. By choosing the numerical flux $ \hat{u}$ to be a function of $ {u}_h$ and not $ {q}_h$ then, the additional $ {q}_h$ variables can be eliminated after discretization at element level; thus, resulting in a system involving only the degrees of freedom corresponding to the conserved variables $ {u}_h$ . The final result is a system of coupled ordinary differential equations (ODEs) of the form,

  $\displaystyle \bm{M}\dot{\bm{u}} = \bm{R}(\bm{u})\ ,$ (7)

where $ \bm{u}(t)$ is a vector containing the degrees of freedom associated with $ {u}_h$ , and $ \dot{\bm{u}}$ denotes the time derivative of $ \bm{u}(t)$ . Here, $ \bm{M}$ is the mass matrix and $ \bm{R}$ is the residual vector which is a nonlinear function of $ \bm{u}$ . We use nodal basis expansions to represent $ {u}_h$ inside each element.

The system of ODEs (7) is solved using either explicit solvers of Runge-Kutta type or implicit solvers using the backward differentiation formulas (BDF). The linear systems of equations are solved with a combination of incomplete factorizations (ILU) and p-multigrid [2].

Bibliography

1 J. PERAIRE AND P.-O. PERSSON, The compact discontinuous galerkin (CDG) method for elliptic problems, SIAM J. Sci. Comput., (2007), to appear.

2 P.-O. PERSSON AND J. PERAIRE, Newton-GMRES preconditioning for discontinuous Galerkin discretizations of the Navier-Stokes equations, SIAM J. Sci. Comput., (2007), to appear.