A Software Framework 
for Discontinuous Petrov-Galerkin Methods

Nathan V. Roberts
Seminar

The discontinuous Petrov-Galerkin (DPG) finite element methodology proposed in 2009 by Demkowicz and Gopalakrishnan [1,2]—and subsequently developed by many others—offers a fundamental framework for developing robust residual-minimizing finite element methods, even for equations that usually cause problems for standard methods, such as convection-dominated diffusion and the Stokes equations. For a very broad class of well-posed problems, DPG offers provably optimal convergence rates with a modest convergence constant. In some of our experiments, DPG not only achieves the optimal rates, but gets extremely close to the best solution available in the discrete space. Moreover, DPG provides a way to measure the error in the approximate solution, which can then robustly drive adaptivity.

We recently introduced Camellia, a robust, flexible software framework for DPG research and experimentation [3], built atop Trilinos. Camellia initially supported 2D meshes of triangles and quads of variable polynomial order, provided mechanisms for easy specification of DPG variational forms, supported h- and p- refinements, and distributed computation of the system matrix, among other features. By defining classes that capture the core conceptual kernels of DPG (and those of finite element methods generally), Camellia allows extremely rapid development of DPG solvers. For example, the entire specification of a Stokes bilinear form can be accomplished in just 45 lines of easily understood code.

In this presentation, we discuss recent efforts toward extending and enhancing Camellia. We have added support for 1D, 2D, and 3D elements with the “minimum rule” (the previous 2D code employed the maximum rule), and have plans to support space-time elements. We have eliminated serial bottlenecks, improving scalability on LCF’s BG/Q machines. As a further effort toward scalable computations, we have begun to experiment with iterative solvers; in particular, we use a geometric multigrid preconditioned conjugate gradient method, with an additive Schwarz smoother. We will discuss some promising initial results using this method.

References

[1]  L. Demkowicz and J. Gopalakrishnan. A class of discontinuous Petrov-Galerkin methods. Part I: The transport equation. Computer Methods in Applied Mechanics and Engineering, 199(23-24):1558–1572, 2010.

[2]  L. Demkowicz and J. Gopalakrishnan. A class of discontinuous Petrov–Galerkin methods. Part II: Optimal test functions. Numerical Methods for Partial Differential Equations, 27(1):70–105, 2011.

[3]  Nathan V. Roberts. Camellia: A software framework for discontinuous Petrov-Galerkin methods. Computers & Mathematics with Applications, 2014.