An AMG saddle point preconditioner with application to mixed Poisson problems on adaptive quad/cube meshes
Carsten Burstedde, Jose A. Fonseca, and Bram Metsch

TL;DR
This paper introduces a specialized algebraic multigrid (AMG) preconditioner for saddle point problems in mixed Poisson discretizations, demonstrating near mesh-independent convergence on adaptive meshes with heterogeneous coefficients.
Contribution
The paper develops a novel AMG saddle point preconditioner with a stabilized prolongation operator tailored for mixed Poisson problems on adaptive meshes.
Findings
SPAMG preconditioner achieves mesh-independent iteration counts.
Effective on both 2D and 3D adaptive meshes.
Handles heterogeneous coefficients efficiently.
Abstract
We investigate various block preconditioners for a low-order Raviart-Thomas discretization of the mixed Poisson problem on adaptive quadrilateral meshes. In addition to standard diagonal and Schur complement preconditioners, we present a dedicated AMG solver for saddle point problems (SPAMG). A key element is a stabilized prolongation operator that couples the flux and scalar components. Our numerical experiments in 2D and 3D show that the SPAMG preconditioner displays nearly mesh-independent iteration counts for adaptive meshes and heterogeneous coefficients.
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 459 | 299 | 22 | 9 | 8 | 8 | |
| 1000 | 773 | 22 | 10 | 8 | 8 | |
| - | 1000 | 24 | 12 | 9 | 10 | |
| - | - | 24 | 14 | 10 | 10 | |
| - | - | 24 | 14 | 10 | 11 | |
| - | - | 24 | 14 | 10 | 11 | |
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 459 | 299 | 22 | 9 | 8 | 8 | |
| 1000 | 773 | 22 | 10 | 8 | 8 | |
| - | 1000 | 24 | 12 | 9 | 10 | |
| - | - | 24 | 14 | 10 | 10 | |
| - | - | 24 | 14 | 10 | 11 | |
| - | - | 24 | 14 | 10 | 11 | |
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 1000 | 1000 | 87 | 10 | 7 | 7 | |
| - | - | 87 | 10 | 7 | 8 | |
| - | - | 99 | 13 | 10 | 10 | |
| - | - | 98 | 13 | 10 | 10 | |
| - | - | 112 | 15 | 11 | 11 | |
| - | - | 149 | 15 | 11 | 11 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 20 | 9 | 7 | 7 | |
| 22 | 11 | 8 | 8 | |
| 22 | 13 | 9 | 9 | |
| 24 | 14 | 9 | 10 | |
| 24 | 15 | 11 | 12 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 20 | 9 | 7 | 7 | |
| 22 | 11 | 8 | 8 | |
| 22 | 13 | 9 | 9 | |
| 24 | 14 | 9 | 10 | |
| 24 | 15 | 11 | 12 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 238 | 11 | 8 | 8 | |
| 322 | 11 | 8 | 8 | |
| 338 | 13 | 9 | 9 | |
| 383 | 14 | 10 | 10 | |
| 390 | 17 | 12 | 12 | |
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 1000 | 1000 | 85 | 18 | 12 | 11 | |
| - | - | 102 | 20 | 13 | 13 | |
| - | - | 113 | 23 | 14 | 14 | |
| - | - | 130 | 24 | 16 | 15 | |
| - | - | 142 | 25 | 16 | 17 | |
| - | - | 169 | 25 | 17 | 18 | |
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 1000 | 1000 | 85 | 18 | 12 | 11 | |
| - | - | 102 | 20 | 13 | 13 | |
| - | - | 113 | 23 | 14 | 14 | |
| - | - | 130 | 24 | 16 | 15 | |
| - | - | 142 | 25 | 16 | 17 | |
| - | - | 169 | 25 | 17 | 18 | |
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 1000 | 1000 | 250 | 18 | 11 | 10 | |
| - | - | 255 | 19 | 13 | 12 | |
| - | - | 415 | 22 | 14 | 13 | |
| - | - | 338 | 24 | 15 | 15 | |
| - | - | 394 | 24 | 16 | 16 | |
| - | - | 539 | 24 | 16 | 17 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 65 | 19 | 13 | 13 | |
| 84 | 21 | 14 | 14 | |
| 103 | 23 | 15 | 16 | |
| 113 | 24 | 17 | 17 | |
| 128 | 26 | 18 | 19 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 65 | 19 | 13 | 13 | |
| 84 | 21 | 14 | 14 | |
| 103 | 23 | 15 | 16 | |
| 113 | 24 | 17 | 17 | |
| 128 | 26 | 18 | 19 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 330 | 22 | 14 | 14 | |
| 456 | 23 | 15 | 14 | |
| 486 | 24 | 16 | 15 | |
| 471 | 25 | 17 | 18 | |
| 493 | 27 | 18 | 20 | |
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 1000 | 1000 | 36 | 12 | 8 | 9 | |
| - | - | 56 | 14 | 9 | 8 | |
| - | - | 55 | 14 | 9 | 10 | |
| - | - | 47 | 15 | 10 | 11 | |
| - | - | 43 | 15 | 10 | 11 | |
| - | - | 41 | 15 | 11 | 11 | |
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 1000 | 1000 | 36 | 12 | 8 | 9 | |
| - | - | 56 | 14 | 9 | 8 | |
| - | - | 55 | 14 | 9 | 10 | |
| - | - | 47 | 15 | 10 | 11 | |
| - | - | 43 | 15 | 10 | 11 | |
| - | - | 41 | 15 | 11 | 11 | |
| Level | # Iterations | |||||
| NoPC | Diag | Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||||
| 1000 | 1000 | 379 | 12 | 8 | 8 | |
| - | - | 547 | 13 | 8 | 8 | |
| - | - | 930 | 13 | 9 | 9 | |
| - | - | 1000 | 15 | 10 | 10 | |
| - | - | - | 15 | 10 | 10 | |
| - | - | - | 16 | 10 | 11 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 40 | 13 | 9 | 9 | |
| 45 | 13 | 8 | 9 | |
| 56 | 15 | 9 | 9 | |
| 53 | 15 | 10 | 10 | |
| 47 | 15 | 11 | 11 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 40 | 13 | 9 | 9 | |
| 45 | 13 | 8 | 9 | |
| 56 | 15 | 9 | 9 | |
| 53 | 15 | 10 | 10 | |
| 47 | 15 | 11 | 11 | |
| Level | # Iterations | |||
|---|---|---|---|---|
| Schur | SPAMG | |||
| Uzawa | Vanka one | Vanka scale | ||
| 637 | 15 | 11 | 11 | |
| 855 | 14 | 10 | 11 | |
| 1000 | 15 | 11 | 11 | |
| - | 16 | 12 | 12 | |
| - | 20 | 14 | 15 | |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Numerical Methods in Computational Mathematics · Matrix Theory and Algorithms · Computational Fluid Dynamics and Aerodynamics
An AMG saddle point preconditioner with application to
mixed Poisson problems on adaptive quad/cube meshes
Carsten Burstedde, Jose A. Fonseca, and Bram Metsch
Abstract
We investigate various block preconditioners for a low-order Raviart-Thomas discretization of the mixed Poisson problem on adaptive quadrilateral meshes. In addition to standard diagonal and Schur complement preconditioners, we present a dedicated AMG solver for saddle point problems (SPAMG). A key element is a stabilized prolongation operator that couples the flux and scalar components. Our numerical experiments in 2D and 3D show that the SPAMG preconditioner displays nearly mesh-independent iteration counts for adaptive meshes and heterogeneous coefficients.
1 Introduction
In many applications one is more interested in the gradient of the solution of the Poisson equation than in the solution itself. One practical example is solving the Richards equation for subsurface flow, where the scalar variable represents the water pressure [34, 6]. One approach is to use standard methods such as finite differences (FD), finite elements (FE) or finite volumes (FV), to obtain an approximate solution and then to compute itself gradient via numerical differentiation, which may lead to a loss in accuracy [3]. A mixed finite element (MFE) discretization then appears to be a more natural choice since the gradient of the solution is part of the unknown variables of the formulation. Generally, in MFE methods the vector valued quantity is approximated at least with the order of accuracy of the scalar unknown [13]. In addition, the computed solution satisfies mass conservation at the element level, a property highly relevant for simulating fluid flow problems where the governing partial differential equations (PDE) are derived from mass balance laws [9].
MFE discretizations lead to symmetric indefinite systems of algebraic equations that may be solved by iterative methods. In order to obtain a solution with a reasonable investment of computational resources, the use of optimal preconditioners becomes mandatory. Although the existence of an optimal preconditioner for general (anisotropic) coefficients remains an open question, there has been a significant amount of work in this direction. [2] proposes two preconditioners for the operator in two dimensions, one based on domain decomposition and another on multigrid. The latter has been generalized to operators of the form and three-dimensional problems [4]. From the observation that a MFE discretization of a generalized diffusion equation is well posed in a product of two different discrete function spaces, [32] and [31] propose two block-diagonal preconditioners. One of them is what we will refer to as Schur complement preconditioner and consists of a lumped diagonal approximation of the block and an algebraic multigrid V-cycle to approximate a Schur complement on the block. The preconditioners introduced in these papers are shown to be optimal with respect to the mesh size and various classes of coefficients (such as a conductivity tensor). Recent work [26] introduces a new preconditioner whose key ingredient is the approximation of the block with an auxiliary space multigrid method [27] that offers optimality with respect to a larger class of coefficients. The authors include numerical evidence for two dimensional problems posed on uniform rectangular meshes.
For some problems we may require a very fine mesh in order to correctly resolve the phenomena we are trying to model. A uniform mesh might be undesirable or even impractical given the computational resources it requires. One solution to this problem is to use locally refined meshes, which use the correct resolution only in the portion of the domain that really requires it [5, 8, 15]. There are essentially two possibilities: either we allow the so called hanging nodes or not. In the context of MFE, implementations making use of adaptively refined meshes with hanging nodes are not the standard, nevertheless the theoretical framework has been established in the early 90s [19, 20]. Unfortunately, none of the above mentioned methods for preconditioning address the case of adaptively refined meshes. Hence, the goal of this paper is to present a multigrid preconditioner that retains its robustness in such a case for both two and three dimensional problems. In addition, we aim to allow for variable matrix-valued coefficients. In our approach, we acknowledge the different scales in the saddle point structure and introduce a prolongation operator that suitably couples the vector and scalar unknowns. We demonstrate superiority of this approach to the Schur complement method using a variety of numerical examples.
2 Problem formulation
In this section we briefly review the mixed formulation of a Poisson-type partial differential equation. The material covered here is standard and found in many textbooks; see e.g. [9, 11], augmented with a few recent results.
Let for be a bounded Lipschitz domain with boundary . will denote the standard Hilbert space of functions in whose weak derivatives up to order are also square integrable. is endowed with the usual norm and seminorm,
[TABLE]
We define the velocity space
[TABLE]
which is a Hilbert space with the norm
[TABLE]
We assume that , with , and that has nonzero -dimensional Lebesgue measure. Lastly, define (in the weak sense)
[TABLE]
In the following, we use bold mathematical symbols to denote vectors and matrices over and the normal font for scalar quantities.
We consider the equation
[TABLE]
where is the outer normal vector to the boundary . The conductivity tensor is a symmetric positive definite matrix whose smallest eigenvalue is bounded uniformly away from zero. Furthermore, the data is required to satisfy
[TABLE]
Introducing the variable leads to the mixed first-order system
[TABLE]
2.1 Weak formulation
To derive the mixed weak formulation of (7) we introduce the following space,
[TABLE]
The dual paring is defined via Green’s formula; see [9, pp. 50]. Multiplying the first equation in (7) by and then by a test function , the second by some , integrating over and using Green’s formula on the gradient term yields the following weak formulation: Find such that
[TABLE]
Let us define the bilinear forms and ,
[TABLE]
and linear functionals , ,
[TABLE]
To enforce the Neumann boundary condition (5c), (7d), let a classical solution of (5) with and . Then, taking leads to the following mixed weak formulation of (7): Find with and such that
[TABLE]
Existence and uniqueness of a solution for the problem (12) follows from standard arguments, namely establishing coercivity of the bilinear form , and the Ladyženskaja-Babuška-Brezzi (LBB) condition; see e.g. [13].
2.2 Discretization
We pick finite dimensional subspaces and and define the following problem: Find such that
[TABLE]
To ensure that (13) is well posed, the pair of spaces must be chosen such that the LBB condition is fulfilled for the discrete problem. Many spaces with this property have been developed since the early seventies, such as the Raviart-Thomas [33] and Brezzi-Douglas-Marini [12] spaces. In this paper we choose the lowest order Raviart-Thomas discretization defined on rectangles/hexahedra. Hence, in an element the velocity and pressure test functions take the form
[TABLE]
respectively, where for and are constants. The degrees of freedom are shown in Figure 1.
The following approximation properties are well known for in the context of affine elements defined on uniform meshes [9],
[TABLE]
where we assume that the pair fulfils the regularity requirements required by the right hand side of (15).
2.3 Adaptivity
For well behaved (smooth) problems posed on convex domains, the use of a uniform mesh usually offers satisfactory results when computing a numerical solution, that is, there is an optimal trade-off between numerical effort (computational resources) invested and effective reduction of the error. Nevertheless, there are situations in which the mesh resolution required to accurately reproduce the physical behavior of the underlying PDE becomes computationally impractical if imposed on the whole domain.
Adaptive mesh refinement (AMR) provides a valuable tool in order to reduce the computational complexity in such situations by increasing the mesh resolution only locally where is required. As stated in section Section 2.2, we will work with meshes composed of rectangles/hexahedra. The refinement schemes used in this paper include the case of a mesh with hanging nodes, that is, we allow (a nonempty) intersection of two elements to be a complete side of a neighboring element. Additionally, we choose to use 2:1 balanced meshes: The length ratio between a coarse and a fine element is at most of factor two; see Figure 2. Non-balanced meshes would be possible as well but require more technical work regarding the definition of MFE spaces and parallelization.
Continuity of fluxes across interfaces for this kind of meshes can be enforced in several ways. One is to eliminate te degrees of freedom at hanging nodes [19]. Another approach is to use Mortar finite elements [1]. We will follow the former. Due to our assumption of 2:1 balance, for a discretization given a hanging node with flux value , there is only one non-hanging node lying in the same edge/face; see Figure 2.
Estimates for locally refined meshes using hanging nodes have been studied in [19, 20]. Essentially, it is shown that the spaces still respect the LBB condition after introducing locally refined grids, and hence the estimates (15) remain valid.
2.4 Preconditioning
The discretization of (7) via stable MFE leads to a saddle point problem defined by the following block matrix,
[TABLE]
where is the vector mass matrix and is the discrete divergence operator. This is a well studied problem and there are several solution methods available; see e.g. [7] for a comprehensive review. They range from Uzawa algorithms and its variants [10], projection methods [23], to block factorization methods [16, 29]. In contrast to most methods that treat flux and pressure individually, we introduce a monolithic multigrid method originally developed for the Stokes equations [30] that is to our knowledge yet unpublished.
To prepare the following exposition, let us briefly discuss notation and some background. We consider the case that the matrix (16) is symmetric and indefinite. The factorization
[TABLE]
implies that is congruent to a block diagonal matrix [21]. This fact motivates the use of a preconditioner of the form
[TABLE]
where and satisfy
[TABLE]
A simple choice is to take as the inverse of the lumped mass matrix . The Schur complement represents the operator . Hence, (19b) suggests , and the second block of the preconditioner should approximate the inverse of a discrete Laplacian in pressure space. Then, we can use a solver for elliptic operators such as multigrid to apply . Nevertheless, it is a concern that our pressure belongs to , and strictly speaking we do not have the required regularity to apply . An option to deal with this problem is to use the auxiliary space technique [51], in which the idea is to use a multigrid preconditioner for continuous pressure elements and then project it in to the desired space of discontinuous pressure elements in combination with a suitable smoothing operator. We note that some approaches only use a one-sided factorization of (17), which leads to a block-triangle form of ; e.g. [18, 28]. For problems in which the (1,1) block of has a non-symmetric term, this variant offers a faster convergence of the iterative solver at the price of evaluating an additional sparse matrix vector product compared to the block diagonal preconditioner; see [22].
In the context of the (Navier-)Stokes equations, dedicated approximations to the inverse of the Schur complement have been proposed [18, 17]. These include the pressure Schur complement methods [44] and the least squares commutator preconditioner a.k.a. BFBt and its extensions [16]. Following the presentation from [36], the BFBt approximation of the inverse of the Schur complement can be written
[TABLE]
where and are diagonal and symmetric positive definite matrices. The original choice sets and to the lumped velocity mass matrix of the system. New modifications have been introduced in an effort to improve the effectiveness of the preconditioners in cases where the equations present high variability in the (scalar) coefficients [35, 36]. For Poisson instead of Stokes, is the velocity mass matrix instead of a discrete Laplacian. Hence, with the method reduces to , the usual Schur complement.
3 Multigrid for Saddle Point Problems
Multigrid (MG) methods provide efficient preconditioners for important classes sparse of linear systems, in particular if the matrix system arises from the discretization of an elliptic PDE. Their main advantage is that they scale linearly in the number of unknowns , i.e., that they require only computational work and memory. Multigrid has been primarily developed for symmetric positive M-matrices as they typically arise from FD/FV/FE discretizations of (scalar) second order elliptic PDEs.
As already indicated in the previous section, multigrid algorithms can be used inside Schur complement preconditioners to invert one (or both, depending on the application) of the diagonal blocks. While this approach allows for an easy reuse of existing and well-established techniques, it does no longer guarantee linear convergence for the block system as a whole. The multigrid cycles are applied only to the sub-problem(s), while couplings between the unknowns are handled by the outer iteration (for example GMRES, BiCGStab or (inexact) Uzawa). In consequence, the outer iteration essentially determines the overall convergence speed, even if the inner sub-blocks can be solved quickly.
The question is whether it is possible to build a multigrid hierarchy for the coupled system to take into account the cross-couplings on all levels. Several developments have been made in this direction. Geometric multigrid methods for (Navier-)Stokes have been proposed in e.g. [45, 39]. In [46, 47, 48], this has been extended to a “semi-algebraic” AMGe, where the coarse levels are still determined geometrically. In this section, we will present the fully algebraic method from the original thesis [30]. As in classical AMG for M-matrices, this method only requires the matrix for building a robust multigrid hierarchy and hence can adapt itself to difficulties such as anisotropic or jumping coefficients as well as non-uniform meshes that cannot be coarsened geometrically.
3.1 Algebraic multigrid (AMG)
The whole hierarchy of grids , differential operators , and transfer operators , needed in the multigrid cycle (the solution phase) is computed from the system matrix during a setup phase. In this document we will understand the term “grid” as a set of indices, since AMG methods require no geometric mesh information. The strength of AMG is its ability to deal with difficulties in the operator, such as heterogeneous, strongly varying coefficients as well as unstructured meshes, for which a hierarchy cannot be (easily) identified. To set the stage for our proposed method, let us briefly recapitulate the classical Ruge-Stüben AMG setup [37, 42]. We start on the finest level using the fine system matrix and the finest set of degrees of freedom .
We decompose the grid into the set of fine grid points and coarse grid points . The latter form the next coarser grid of size . 2. 2.
We compute the interpolation matrix
[TABLE]
The submatrix contains the interpolation weights for all fine grid points . For the coarse grid points , interpolation is just the identity. 3. 3.
We compute the next coarser matrix by the Galerkin product
[TABLE]
The algorithm is then recursively applied to the input matrix . If is small enough such that can be efficiently factored by a direct solver, the recursion is terminated. In our experiments we use a redundant serial solver if .
We recall that for a fast multigrid algorithm, the error components not efficiently reduced by smoothing (the smooth vectors) must be well represented within the range of the interpolation operator . In AMG, we take a simple smoothing scheme like Jacobi or Gauss-Seidel relaxation. For symmetric positive definite M-matrices, an investigation of the smooth error components reveals that these satisfy , where . If we denote the coefficients of by , this means
[TABLE]
Equation (23) already delivers us a template for the interpolation formula: The value at the fine grid point should be approximated by the values at those points for which is relatively large, while those (scaled) entries also provide the interpolation weights. In consequence, a substantial amount of those large negative connections should lead (directly or indirectly) to coarse grid points . This imposes certain conditions on the selection of the coarse grid points . Many algorithms to the coarse grid selection and construction of the interpolation have been proposed. We do not describe them in detail here, but refer to [37, 42, 24, 41, 40]. In our experiments we use Falgout coarsening to select the set of coarse grid points . We compute the interpolation weights using the modified classical interpolation scheme and dropped interpolation weights smaller than 1/20 of the largest absolute weight per row. The restriction matrix is taken as the transpose of the interpolation.
The Galerkin ansatz for the coarse grid matrix (22) has two benefits: First, for symmetric positive definite , is also symmetric positive definite for any full (column) rank interpolation operator . Second, the resulting two-grid correction operator is an orthogonal projector, which (extended recursively over all levels and combined with smoothing) ensures that the multigrid cycle converges [42].
We now present an algebraic multigrid approach for a monolithic solution of saddle point problems of the form
[TABLE]
We will construct a multigrid hierarchy of saddle point matrices indexed by ,
[TABLE]
as well as block interpolation matrices . Note that we include a lower right block , which will be zero on the finest level, , and non-zero for .
3.2 Smoothers for saddle point problems
Classical relaxation schemes like the Jacobi or Gauss-Seidel iteration are not suitable for saddle point systems, since the smoothing properties for these schemes rely on the positive definiteness of the matrix. We present two dedicated smoothing schemes for saddle point systems [39]: First, a predictor-corrector algorithm, which combines segregated sweeps over the physical components, and second, a box relaxation scheme, where small saddle point subsystems are solved within a global Schwarz method.
Uzawa relaxation.
Our first option is a symmetric inexact Uzawa relaxation scheme. Within each iteration, a predictor for the flux is computed first, which is used to update . Finally, employing the updated values of , the next iterate is computed,
[TABLE]
The matrices and are chosen such that and are symmetric positive definite. Furthermore, they should be easily invertible. For example, we can choose to use the scaled diagonals of and , respectively. The magnitude of the scaling can be obtained with help of the power iteration on the latter matrices. For convergence and further properties of this smoother we refer to [39].
Vanka smoothing.
The second alternative requires us to first decompose the computational domain into small overlapping patches. To this end, we employ the non-zero structure of and construct a patch for each row of : For the -th row, consists of the index as well as all indices such that there exists an entry ,
[TABLE]
The transfer between the global domain and the subdomains is accomplished by (optionally scaled) injection operators (flux) and (pressure),
[TABLE]
where and are binary matrices that map the subdomain into the global domain for velocity and pressure, respectively; i.e., each of their columns contains exactly one unit entry.
First, the residuals are restricted to the subdomain,
[TABLE]
Then, on each subdomain, a small saddle point problem of the form
[TABLE]
is solved using a sparse direct solver. Finally, the updates are prolongated to the global domain,
[TABLE]
The small matrices , and , where the latter is just a scalar, are defined by
[TABLE]
Again, is a scaled version of the diagonal of such that is positive definite. With the aid of a power iteration, is computed such that
[TABLE]
is symmetric positive definite.
The iteration can be performed either additively (i.e., the residuals are computed once, then all subdomain solves are performed independently) or multiplicatively (after each subdomain solve the residuals are updated). In the latter case, it is beneficial to perform a symmetric sweep, i.e., after one complete sweep the subdomain solves are performed again in reverse order. If we choose
[TABLE]
the additive smoother coincides with the Uzawa method described in the previous section [39]. On the other hand, in the multiplicative case the simple choice
[TABLE]
may result in faster convergence.
3.3 AMG setup for saddle point systems
The starting point for our saddle point AMG method (SPAMG) is the block diagonal matrix
[TABLE]
This operator is symmetric positive definite. Let us assume that we can apply the classical AMG setup algorithm as described in Section 3.1 to each of the blocks and . We construct coarse grids and interpolation operators and for each of these blocks and obtain a block interpolation operator
[TABLE]
Now, one idea would be to construct the coarse grid operator in the usual Galerkin way, . Unlike in the symmetric positive definite case, however, we cannot be sure that is invertible, thus we might attain an unusable multigrid hierarchy. To prevent this, we modify the interpolation operator by the multiplication of a stabilization term. To this end, we re-write the velocity prolongation block such that the rows corresponding to the fine grid points come first,
[TABLE]
where is the identity injecting the values from level to level and contains the interpolation weights from coarse to fine computed from the matrix . Analogously, we write
[TABLE]
The stabilized interpolation operator is computed by
[TABLE]
Now, we use the modified Galerkin product
[TABLE]
to compute the coarse grid operator. For this matrix, we can show an inf-sup-condition if (a) the fine grid matrix fulfils such a condition and (b) the interpolation operator for the velocity satisfies certain approximation properties, which most usual AMG interpolation schemes do [30, Lemma 4.6]. The invertibility of the coarse grid matrix (41) is ensured by its lower right block
[TABLE]
This can be understood as a partial Schur complement that ensures the stability of the coarse grid matrix.
In reference to recent work, the results published in [49] and [50] indicate that it is neither always necessary to stabilize the interpolation operator on every level, nor that interpolation and restriction need to be stabilized simultaneously. A further investigation of these techniques, however, is beyond the scope of this paper: It may be quite involved to determine algorithmically and separately for each level whether the stabilization is required.
4 Numerical Results
In this section, we evaluate the effectiveness of SPAMG compared to the diagonal and Schur preconditioners for uniform and adaptive meshes. We choose the examples based on manufactured solutions, that is, we prescribe a target pressure field and compute the velocity field, boundary conditions, and right hand sides in order to satisfy (7). We also choose synthetic adaptive refinement tailored to the reference solutions. Examples 1 to 3 are typical benchmarks with smooth coefficients. In example 4 we challenge the numerical solver and the preconditioner by using a conductivity tensor with strong coefficient variation. We employ three different flavors of smoothers inside SPAMG: The inexact Uzawa scheme (26) and two variants of the multiplicative Vanka smoother, either using the scaling (34) (“Vanka Scale”) or the unscaled injection (35) (“Vanka One”).
We delegate the parallel mesh management to the octree-based AMR software library p4est [14, 25]. This library provides a collection of algorithms that implement scalable parallel AMR operations. In particular, we employ p4est to create and modify a hexahedral triangulation of the unit square/cube and to introduce a numbering of the degrees of freedom suitable for a discretization. Regarding solvers and preconditioners, we use the GMRES [38] implementation provided by the software library hypre [43]. In order to approximate the product for a given residual , we employ one SPAMG V-cycle. We use the parallel multigrid implementation BoomerAMG from hypre as the frame to which our saddle-point AMG is added.
4.1 Homogeneous Dirichlet boundary conditions
We solve (7) on the unit cube using an identity conductivity tensor and homogeneous Dirichlet boundary conditions. We compute the right hand side based on the manufactured solution
[TABLE]
in 2D and
[TABLE]
in 3D, respectively.
With this example we verify the correctness of our implementation of the discretization. The discretization error converges the predicted rates as confirmed in Figure 3 and Figure 4. The iteration counts displayed in Table 1 and Table 2 confirm the (well known) robustness of the Schur preconditioner for uniform meshes. For adaptive meshes, the Schur complement preconditioner incurs high iteration counts, particularly for the 3d case. The three variants of the SPAMG preconditioner retain mesh independent iteration counts for both uniform and adaptive meshes.
4.2 Inhomogeneous Dirichlet/Neumann boundary conditions
We solve (7) with an identity tensor. We impose homogeneous mixed homogeneous Dirichlet / Neumann boundary conditions and compute the right hand side based on the exact solution
[TABLE]
in 2D and
[TABLE]
in 3D, respectively. The Neumann boundary is set at and in both cases.
As in the previous section, the theoretical converge rates agree with the bounds (15). Due to the smoothness solution and the equation constant coefficient, no additional benefit is expected from local adaptation of the mesh; see Figure 5 and Figure 6. The iteration counts (not shown) are similar to the previous example.
4.3 A non-trivial conductivity tensor
In this example we approximate the solution of (7) for the case of a non-diagonal conductivity tensor . We impose non-zero Dirichlet boundary conditions. The manufactured solution is
[TABLE]
in 2D and
[TABLE]
in 3D, respectively. The conductivity tensor is given by
[TABLE]
in 2D and
[TABLE]
in 3D.
The three variants of the SPAMG preconditioner offer mesh independent iteration counts for uniform and adaptive meshes. The Schur complement again produces growing iteration counts, in particular for the three dimensional case and even for uniform meshes. See Table 3 and Table 4.
4.4 High conductivity contrast
To further examine the robustness of the SPAMG preconditioner, we solve (7) with a conductivity tensor that exhibits strong coefficient variation. We enforce inhomogeneous mixed Dirichlet boundary conditions and compute the right hand side terms based on the manufactured solution
[TABLE]
in 2D and
[TABLE]
in 3D. The conductivity Tensor is given by the identity matrix scaled pointwise with a continuously differentiable function constructed to fulfil the following properties:
- •
if ,
- •
if and
- •
if .
Such a function can be constructed by defining
[TABLE]
and
[TABLE]
see Figure 7.
Hence, the first three arguments define the location and radius of the support of .
The parameter allows us to tune the coefficients to vary across the domain. From an application point of view, if is close to one the function models a medium in which almost no flow is allowed within a circle (sphere) centered at with radius . Given this information, it is clear that the velocity field is likely to have a strong gradient within the ring-shaped region . We provide Figure 8 and Figure 9 to illustrate this, refining a given element on the mesh whenever it overlaps this region.
In fact, adaptive refinement is necessary in this example to obtain optimal convergence, which we show in Figure 10 (2D) and Figure 11 (3D). The plot of accuracy versus degrees of freedom in Figure 12 supports this observation.
We display the iteration counts for various preconditioners in Table 5 (2D) and Table 6 (3D). While the Schur preconditioner still functions in 2D, it fails completely in three space dimensions. All three variants of SPAMG, on the other hand, lead to almost mesh independent iteration counts. The “Vanka One” variant seems best with an iteration count of just 10 to reduce the relative error of the linear system of equations by 6 orders of magnitude. Thus, SPAMG is robust against coefficient functions whose magnitude varies by at least a factor of 1000 in a narrow region.
5 Conclusion
The purpose of this paper is to describe the SPAMG multigrid preconditioner for saddle point systems. It is a monolithic AMG method applicable to the block system arising from mixed Poisson and Stokes discretizations. One key element of the construction is a coupled prolongation operator that stabilizes the Galerkin product from one level to the next coarser one.
Our numerical examples are obtained from a Raviart-Thomas discretization of the mixed Poisson system. We show the correctness of the solver and preconditioner by reproducing optimal convergence rates and, more importantly, demonstrate mesh-independent iteration counts of a preconditioned GMRES solve. We see that the SPAMG preconditioner offers robustness against highly graded adaptive meshes in both two and three space dimensions and tolerates strongly varying coefficients of the PDE as well as a non-trivial, matrix-valued conductivity. In addition, we show that such is not achieved by a standard Schur complement block preconditioner.
Essentially, mixed adaptive discretizations are handled well by SPAMG. Some open questions remain, such as studying the robustness of the preconditioner for even higher conductivity contrast on the order of and extending it to largely disparate eigenvalues in the conductivity tensor (i.e., problems involving anisotropy). Investigating the behavior of SPAMG for higher-order RT discretizations is another possible extension.
Acknowledgments
Authors B. and F. gratefully acknowledge financial support by the SFB/TR 32 “Patterns in Soil-Vegetation-Atmosphere Systems: Monitoring, Modeling, and Data Assimilation” funded by the Deutsche Forschungsgemeinschaft (DFG), as well as travel support from the DFG-funded Hausdorff Center for Mathematics, Bonn, Germany.
Author M. acknowledges the support of the former SFB611 “Singular Phenomena and Scaling in Mathematical Models” funded by the Deutsche Forschungsgemeinschaft (DFG).
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] T. Arbogast, L. C. Cowsar, M. F. Wheeler, and I. Yotov , Mixed finite element methods on non-matching multiblock grids , SIAM Journal on Numerical Analysis, 37 (2000), pp. 1295–1315.
- 2[2] D. Arnold, R. Falk, and R. Winther , Preconditioning in H ( div ) 𝐻 div H(\mathrm{div}) and applications , Mathematics of Computation of the American Mathematical Society, 66 (1997), pp. 957–984.
- 3[3] D. N. Arnold , Mixed finite element methods for elliptic problems , Computer Methods in Applied Mechanics and Engineering, 82 (1990), pp. 281 – 300. Proceedings of the Workshop on Reliability in Computational Mechanics.
- 4[4] D. N. Arnold, R. S. Falk, and R. Winther , Multigrid in H ( div ) 𝐻 div H(\mathrm{div}) and H ( curl ) 𝐻 curl H(\mathrm{curl}) , Numerische Mathematik, 85 (2000), pp. 197–217.
- 5[5] I. Babuska and W. C. Rheinboldt , Error estimates for adaptive finite element computations , SIAM Journal on Numerical Analysis, 15 (1978), pp. 736–754.
- 6[6] J. Bear , Dynamics of fluids in porous media , Courier Corporation, 2013.
- 7[7] M. Benzi, G. H. Golub, and J. Liesen , Numerical solution of saddle point problems , Acta Numerica, 14 (2005), pp. 1–137.
- 8[8] M. J. Berger and P. Colella , Local adaptive mesh refinement for shock hydrodynamics , Journal of Computational Physics, 82 (1989), pp. 64–84.
