You are on page 1of 19

A MULTI-LEVEL SOLVER APPROACH FOR PRIMAL

DISCONTINUOUS GALERKIN FINITE ELEMENTS ON POISSONS


EQUATION
OWEN J. ESLINGER

Abstract. A multi-level method for primal discontinuous Galerkin (DG) methods is derived for
discretizations arising from Poissons Equation in 1 dimension with p = 1.
Key words.
AMS subject classifications.

1. Model Problem. The model problem for this work will be the linear second
order equation,
(Ku) = f
u=g

(1.1a)
(1.1b)

x ,
x = ,

unless otherwise noted. Specifically, the case of homogeneous boundary conditions


will be examined, g = 0 for x . Here K is independent of u and K : Rd Rd
where d is the dimension of the problem. Equation (1.1a) is exactly the standard
form of Poissons Equation when K = I.
We will primarily work with the symmetric interior penalty galerkin methd (SIPG),
which was examined and analyzed in [4]. The general bilinear form for a set of primal
DG methods including SIPG is
X Z
X r Z
(1.2) ah (u, v) =
[u][v]
(Ku) v +
|es | es
EEh E
es h
X Z
X Z

[v]{Ku } sf orm
[u]{Kv }
es h

es

es h

es

and the linear form for the right hand side will be given as
XZ
X Z
X r Z
(1.3)
[g][v]
[g]{Kv }.
fh (v) =
fv +
|es | es
es
E
EEh

es

es

Here we are able to arrive at different primal DG forms by changing the value of sf orm .
That is, sf orm = + 1 for SIPG, sf orm = + 0 for IIPG, and sf orm = 1 for NIPG
and OBB. For the base case, Poissons Equation, we will take K = I, the identity.
In general, however, K is a tensor, possibly with highly varying entries. Therefore,
in our numerical experiments we will also examine the case of heterogeneous K, 2.6,
and in 2D we will examine the case of non-isotropic K, ??.
The stiffness matrices arising from the bilinear form in Equation (1.2) will be denoted as ADG unless otherwise indicated. One can see by inspection that the bilinear
G
form aSIP
(u, v) is indeed symmetric. With a sufficient penalty, this particular DG
h
discretization gives rise to systems of symmetric positive definite stiffness matrices.
The

majority of this work was completed at The University of Texas at Austin.


Army Corps of Engineers, 3909 Halls Ferry Rd., Vicksburg,
(Owen.J.Eslinger@erdc.usace.army.mil)
US

MS,

39180

Owen J. Eslinger

Fig. 2.1. Example 1D Domain, A Partition of the 1D line segment (0, 1) into four elements
of uniform size

E1

E2

E3

E4

1


-

-

-

Fig. 2.2. Master Element in 1D with two Linear Shape Functions

@
@
1 @
@

2
@
@
@
@

?
0

@
1

2. One Dimension: DG Theory and Implementation. In this section,


we will explicitly create various stiffness matrices arising from the solution of the
model problem, Equation (1.1a), in one dimension. We will limit ourselves to uniform
meshes. In 1D, this will be the line segment [0, 1] with N elements of equal size. An
example of such a partition can be seen in Figure 2.1 for N = 4. As the model problem
and this simple domain are well behaved, we can write down, in advance, the subblocks of our stiffness matrix. Given N , these blocks can be quickly assembled to give
a global stiffness matrix for the SIPG discretization. The remainder of this section
is laid out as follows. In 2.1, we will define spaces of discontinuous and continuous
piecewise linear functions over the domain and define a change of basis operator from
CG to DG. In 2.2, we will present the structure of a general DG stiffness matrix and
define the sub-blocks specifically for SIPG. In 2.3, we will explore the eigenvalue and
eigenvector structure for this 1D SIPG stiffness matrix. Then in 2.4, we will develop
a strategy for a multi-level preconditioner for the linear system. In 2.6, numerical
results supporting this work will be shown. Finally, in 2.5, extensions to other DG
schemes in 1D problem will be discussed and 2D and 3D problems will be addressed
in ??.
2.1. Define Basis Functions. We will restrict ourselves to the case of a uniform
mesh in 1D over the discrete domain [0, 1]. Therefore, suppose that there are a total
of N elements in the domain, all of equal size, h = N1 . Again, an example with N = 4
is given in Figure 2.1. For the case of linear basis functions for DG, there are two
unknowns per element, giving a total of 2N unknowns over the entire domain. For
node-based linears then, the shape functions on the master element are given by
(2.1a)

1 () = 1

A Multi-Level Solver Method for DG

Fig. 2.3. Traditional continuous linear Hat basis function in 1D

6
i

@
@
@
@
@

@
@
@
?
xi1

(2.1b)

xi

@
xi+1

2 () = ,

where 0 1. There will be a simple affine mapping from each element in the
domain to this master element. The master element is shown in Figure 2.2 with 1 and
2 labeled. Notice that we use this particular choice of two linear shape functions.
An alternate choice of basis functions that would also span the same space of test
functions would be the set which has one constant and one linear shape function
defined on the master element. The current choice was made for ease of notation,
as it made the transfer between continuous and discontinuous basis functions easier.
There will also be other nice properties that arise due to this choice. Other shape
function options were not explored in detail. However, some initial tests appeared to
show that the current choice was better than cases which used a constant for one of
the shape functions.
There are total of 2N linearly independent basis functions for this 1D domain,
with two functions in each of the N elements. Therefore, we can define the space
(2.2)

VhDG = span(1 , . . . , 2N ),

where clearly dim(VhDG ) = 2N . Here for element i, 1 i N , the function 2i1


will map to 1 on the master element and 2i will map to 2 . Given any function
U VhDG then, there will be a unique vector of coefficients u = {ui } R2N such that
P2N
U = 1 ui i .
We would also like to have a similar structure for a finite element method using
continuous linear basis functions. Therefore, we will use the traditional, linearly
independent, hat basis functions, {i }, as shown in Figure 2.3. We can define the
space of continuous linears to be
(2.3)

VhCG = span(1 , . . . , N 1 ),

such that dim(VhCG ) = N 1. This is clear, as there are N 1 internal nodes in our
domain and we are assuming strongly enforced, homogeneous boundary conditions.
To avoid confusion, the notation CG here always represents continuous Galerkin.
For W VhCG there exists a set of coefficients w = {wi } RN 1 such that W =
PN 1
wi i .
1
It is clear that VhCG VhDG . We would like to define a matrix operator that represents the change in basis between these two subspaces. That is, if U VhCG VhDG ,
P2N
PN 1
and U = 1 ui i = 1
u
j j , then we would like to define a matrix operator B

Owen J. Eslinger

such that u = B u
. Here u and u
are the vectors of coefficients corresponding to the
spaces VhDG and VhCG , respectively.
Given the straightforward relation between the two spaces, we can easily write
down this change of basis matrix, B : RN 1 R2N .

if k = 2i
1
1
if k = 2i + 1
B(k, i) =
(2.4)
1iN 1

0
otherwise
An example of such a matrix, for N = 4,

0 1 1
BT = 0 0 0
0 0 0

would be
0
1
0

0
1
0

0
0
1

0
0
1

0
0 .
0

In the terms of finite element methods, the space VhCG could be considered as coarser
than VhDG . The transpose of this matrix, B T , then could be thought of as some type of
restriction from the space of discontinuous linear functions to the subset of continuous
linear functions. Also, B could be thought of as a projection. However, in order to
avoid confusion with traditional prolongation matrices that interpolate from coarse to
fine meshes, we have chosen to use the symbol B and not P . This implies its action
as a change of basis operator within one mesh partition level.
T = (1/2)B T . This is a more natural
We will also define the matrix operator B
DG
CG
choice when restricting from Vh to Vh . This matrix has the added benefit that
the row sum is 1 for each row. It can be thought of as taking the average value of
the two discontinuous basis functions that share a node and using that value for the
T is given for N = 4,
coefficient of the continuous hat function there. An example of B

0 21 12 0 0 0 0 0
T = 0 0 0 1 1 0 0 0 .
B
2
2
0 0 0 0 0 12 12 0
T B is the Identity). Given the change of basis matrix B, as defined
Lemma 2.1 (B
in Equation (2.4), then B T B = cI, where c is constant and I : RN 1 RN 1 is
T B = I.
identity matrix operator for RN 1 . Also, B
Proof. Using B from Equation (2.4), we can see that B T B = 2I.
Lemma 2.2 (). Given the change of basis matrix B, if y Range(B) R2N ,
T y = y.
then BB T y = cy, where c is constant. Also, B B
Proof. Let y Range(B), then there exists z RN 1 such that y = Bz.
Therefore BB T y = BB T (Bz) = B(B T B)z = c(Bz) = cy. For B from Equation
(2.4), c = 2.
Lemma 2.3. If y Range(B), then k!1kyk!k2 = ck!1kB T yk!k2 . Finally, if
x RN 1 , then k!1kBxk!k2 = ck!1kxk!k2 .
Proof. The proofs of these statements are trivial extensions of the previous two
lemmas.
2.2. Implementation for a Uniform 1D Mesh. We will now use the bilinear
G
form aSIP
(u, v) given in Equation (1.2) to construct the global stiffness matrix ADG .
h
G
Therefore, the entry in the ith row and j th column, ADG (i, j), is given by aSIP
(j , i )
h
for 1 i, j 2N .

A Multi-Level Solver Method for DG

In our various implementations using DG finite element methods, we generally


construct the stiffness matrix ADG by first constructing the blocks coming from individual element matrices. These sub-blocks are then inserted into the global stiffness
matrix. Using such a technique, for N = 4 in 1D, the stiffness matrix would be
constructed as follows.


D U
BCL

L D U

+
(2.5)
ADG =

L D U
BCR
L D
The form, of course, would be similar for any value of N . Here D is the diagonal block,
U and L are blocks for the upper and lower portions of the stiffness matrix, and BCL
and BCR are blocks representing the weak enforcement of the left and right boundary
conditions respectively. The structure of the stiffness matrix above is independent of
the order of approximation and independent of the particular choice of primal DG
method, that is, whether NIPG, SIPG, or IIPG is chosen. We will not use OBB-DG,
as it has been shown to not converge for some cases with linear basis functions. This
form is also independent of the order of approximation. In the case of linear basis
functions, the blocks are 2 2 matrices. However, they could vary in size according
to the local order of approximation.
In this case, we restrict ourselves to the set of linear basis functions {i }2N
previously defined. Then, we can write down the sub-matrices in advance for any
value of N , h and sf orm . Here D, U , and L are given as


 1sf orm
 1 1+sf orm
1sf orm
+ h
2h
h
2h
2h
2h
,
, D=
L=
sf orm
1sf orm
1sf orm
0
+ h
2h
2h
2h


sf orm
0
2h
(2.6)
U = 1+sf orm
.
h 1
2h
2h
Notice that U = LT for SIPG. The left and right boundary conditions are given by
BCL and BCR respectively.
 1+sf orm



sf orm
1
0
2h
2h
2h
BCL =
(2.7)
,
BCR =
sf orm
1+sf orm
1
0
2h
2h
2h
With this construction, we will solve the linear system arising from Equation (1.1a).
These results are recorded in 2.6. The correct rate of convergence of the DG method
is observed for this simple 1D case with a known exact solution.
We would now like to make the following observation. We constructed ADG based
on the set of basis functions {i }2N spanning the discontinuous linear space VhDG .
We have also derived a change of basis operator B. For N = 4, we can observe that

2 1 0
1
(2.8)
B T ADG B = 1 2 1 .
h
0 1 2
This form holds independent of N . Notice that the resulting matrix is the same
matrix form that would arise from using continuous piecewise linear finite elements
everywhere to construct the stiffness matrix.
This result can be anticipated by noting the following. The action of right multiplication by B and left multiplication by B T is to effectively combine discontinuous

Owen J. Eslinger

basis functions into a set of new, continuous, basis functions. In effect, it re-creates
the continuous hat functions in our test and trial space and thus the resulting stiffness
matrix.
Another way one might foresee this result is to think that left multiplication
by B T and right multiplication by B effectively acts to add certain terms of ADG
together. That is, on the diagonal for 1 i N 1,
(2.9)

(B T ADG B)(i, i) = ADG (2i, 2i) + ADG (2i + 1, 2i)


+ ADG (2i, 2i + 1) + ADG (2i + 1, 2i + 1)
Z xi+1
Z xi
2i+1 2i+1
2i 2i
+
.
=
x
x
xi
xi1 x x

This last line comes after all the terms have been added. Notice that this is exactly
the result one would expect for continuous finite elements. Above the diagonal for
1iN 2
B T ADG B(i, i + 1) = ADG (2i, 2i + 2) + ADG (2i + 1, 2i + 2)
+ ADG (2i, 2i + 3) + ADG (2i + 1, 2i + 3)
Z xi+1
2i+1 2i+2
=
x
x
xi
Below the diagonal we will get a similar result, and all of the other entries will be
zero.
Given this relationship between the continuous and discontinuous stiffness matrices, we will now show that for this particular choice of discontinuous linear basis
functions, we can write down all of the eigenvalues and eigenvectors of the SIPG stiffness matrix ADG . Furthermore, the eigenvectors of the continuous Galerkin stiffness
matrix, such as the one in Equation (2.8) for N = 4, are a subset of the eigenvectors
of the stiffness matrix from the SIPG method.
This result follows from observing that not only is B T ADG B = ACG , but it is
also true that ADG B = ( 12 )BACG . Here ACG is defined by this triple matrix product.
For example, the right hand side of Equation (2.8) with N = 4 would be the result.
2.3. SIPG Eigenvalue Problem. In this section, we will examine the eigenvalues and eigenvectors of the stiffness matrices arising from the use of the SIPG
method to numerically solve Equation (1.1a) on uniform meshes. In 1D this is fairly
straightforward.
We begin with two well known statements from linear algebra [3].
Remark 1 (Symmetric Schur Decomposition). If A Rnn is symmetric, then
there exists a real orthogonal Q such that QT AQ = = diag(1 , . . . , n ). Moreover,
for 1 k n, AQk = k Qk , where Qk is the k th column of Q.
Remark 2 (Eigenvalues of Invariant Subspaces). Suppose that the following holds
for A Rnn ,
AX = XS,

where X Rnk ,

S Rkk ,

then Range(X) is invariant for A, and Sy = y A(Xy) = (Xy). Thus, if X


has full column rank, then AX = XS implies that the eigenvalues of S are a subset
of the eigenvalues of A. As the stiffness matrix ADG from SIPG is symmetric, the
first remark states that a set of orthogonal eigenvectors exists. The second remark,
regarding invariant subspaces, implies that eigenvectors from continuous Galerkin may

A Multi-Level Solver Method for DG

also be eigenvectors for SIPG. Using this reasoning, we will also state the well-known
result [2] arising from the use of continuous linear finite elements to solve our model
problem, Equation (1.1a), in 1D over a uniform mesh
Remark 3 (Continuous Eigenvectors). Eigenvalues of the stiffness matrix from
the 2-point Boundary Value Problem with continuous finite elements, such as is given
by the right hand side of Equation 2.8 are


k
2
1k N 1
k (A) = 4 sin
2N
and the associated eigenvectors are
k

V (i) = sin

ki
N

where V k (i) is the ith entry of V k corresponding to node i with 0 i N . The value
k is often called the mode.
Lemma 2.4. Suppose the stiffness matrix arising from the numerical solution
of Poissons Equation, Eq. (1.1a), with continuous linear basis functions is ACG .
Likewise, let ADG be the stiffness matrix from the use of discontinuous linear basis
functions. Then ( 21 ACG ) (ADG ). That is, the set of eigenvalues of 12 ACG is a
subset of the eigenvalues of ADG .
Proof. Let us take the change of basis operator B as defined in Equation (2.4). If
ADG is the stiffness matrix arising from the DG system, and ACG is the matrix arising
from the continuous Galerkin system, it is sufficient to show that ADG B = 12 BACG .
Remark 2 then gives us that the eigenvalues of 21 ACG are a subset of the eigenvalues
of ADG .
Using the construction developed for ADG in Equations (2.6-2.7), this relationship
can be easily shown for any N . The factor of 1/2 is a result of the change of basis
operator, since B T B = 2I.
Lemma 2.5 (Bound on the 1D DG Eigenvalues). Let the DG stiffness matrix
ADG be constructed using the blocks in Equations (2.6-2.7). Then the eigenvalues of
ADG are bounded above by 2
h .
Proof. As ADG is symmetric and positive definite, we know the eigenvalues are
positive. The proof of this lemma then is a straightforward application of the Gershgorin Circle Theorem. For the sub-blocks in Equations (2.6-2.7), we simply need to
sum the off diagonal entries. Then for > 1, we have that
(ADG ) (0,

2
].
h

We will now write down the eigenvalues and eigenvectors of ADG . It is a trivial
exercise to show that these are indeed the eigenvalues and eigenvectors of the matrix.
Furthermore, it is straightforward to show that the eigenvectors are also orthogonal.
For SIPG we will use the stiffness matrix given by assembling the sub-matrices in
Equations (2.6-2.7) arising from a uniform 1D mesh and the model problem, Equation
(1.1a). The eigenvalues and eigenvectors can be written in the same form as in Remark
3. From this point on, we will take i to be the element number such that 1 i N ,
and the mode k will still be 1 k N 1.
There will be three sets of eigenvalue and eigenvector pairs for ADG . These sets
can be associated with geometry, one set from the two boundary nodes and two sets

Owen J. Eslinger

Fig. 2.4. For the 1D SIPG Stiffness matrix for Laplaces Equation: (left) A plot of the function
corresponding to the smoothest eigenvector for N = 4, and (right) a plot of the function corresponding to its discontinuous counterpart, which is also eigenvector.

associated with internal nodes. Both of these internal sets have cardinality N 1,
where one set can be associated with continuous linear test functions and the other
set can be associated with discontinuous test functions.
The first set of eigenvalue and eigenvector pairs, which we write as {k,1 } and
{V k,1 } respectively, represent N 1 continuous test functions.

(2.10)

k,1




2
k
=
sin2
,
h
2N

V k,1

..
.

k(i1)
sin
 N
=

k(i)
sin N

..
.

The second set of eigenvalue and eigenvector pairs, {k,2 } and {V k,2 } respectively,
represent N 1 discontinuous test functions. These test functions are potentially
discontinuous at every node between two adjoining elements.

(2.11)

k,2


2 2 sin2
=
h

k
2N


,

V k,2

..
.


k(i1)
(1)i sin
N


=

k(i)
(1)i sin N

..
.

That is, for V k,2 , we have that the entries are exactly the same as V k,1 , with one
significant difference. For every other element, the coefficients of the basis functions
will be reflected about zero. This can be seen in Figure 2.4 for N = 4. On the left in
this figure, we have shown the function corresponding to the smoothest eigenvector. In
this figure on the right, we have shown the function corresponding to its discontinuous
counterpart. Notice the similarity between the two functions.
There are two remaining pairs of eigenvalues and eigenvectors. These can be
associated with the left, 1,3 and V 1,3 , and right, 2,3 and V 2,3 , boundary. The

A Multi-Level Solver Method for DG

following are true in the limit, that is as . For < C, they may not be exact.


..
1

.
0
2,3
1,3
(2.12)
V
= 0
1,3 2,3 ,
V
= ,
h
..
1
.
In this 1D case, we can see by inspection that the eigenvectors are indeed orthogonal. Notice that there are 3 distinct sets of eigenvalues. We have
2
h

1,3 2,3
h
2 2
2
{k,2 }1N 1 <
.
h
h
0 < C {k,1 }1N 1

(2.13)

The set {k,1 } is independent of the penalty term and their values are exactly those
from the CG method, multiplied by 1/2.
2.3.1. The Relationship between the Eigenvectors and Range(B). We
now have a picture of the eigenvectors of the DG stiffness matrix. They can be
related to the change of basis operator B in a tidy way.
Lemma 2.6. Suppose that ({V k,1 }, {V k,2 }, V 1,3 , V 2,3 ) are indeed the eigenvectors
of ADG . Then span({V k,1 }) = Range(B). Furthermore, the Range(B) is ADG invariant. A similar result holds for the remaining eigenvectors and the N ull(B T ).
Stated in another way, we have the following. Suppose the set {V k,1 } is indeed
a subset of the eigenvectors. Then, the span of these eigenvectors represents the set
of continuous test functions in the finite element space, which is exactlyPthe range of
B. The range
is ADG -invariant. Thus if x Range(B), then x =
xi V i,1 and
P of B i,1
DG
T
k,2
A x=
i,1 xi V Range(B). Note that N ull(B ) = span({V }, V 1,3 , V 2,3 ).
A similar result holds.
Furthermore,
we know from linear algebra that the finite element space V DG =
L
Range(B) N ull(B T ). We also know that this decomposition is such that Range(B)
N ull(B T ). Suppose that bB Range(B), and ADG x = bB . Then x Range(B).
This relationship between the range of B and the eigenvectors is not essential
to the development of a multi-level strategy. Also, in general, the range of a meshdependent prolongation matrix does not have such a convenient relationship with any
subset of eigenvectors. However, this splitting allows for a much more straightforward
analysis. We will attempt to take full advantage of this in the development in the
following section.
2.4. Multi-Level Strategy. In this section, we will suggest a multi-level algorithm for DG methods, and we will show that this algorithm is optimal in computational costs and converges independently of h and . This strategy can best be
described by examining Figure 2.5. In the vertical direction, we have multiple levels
of mesh refinement, with discontinuous finite element spaces on the left and continuous finite element spaces on the right. A typical multi-level approach might be to
use DG approximations on every level of mesh refinement, that is, use only the left
hand edge of Figure 2.5 for a V-cycle. We are suggesting that a good strategy would
be to also work with the continuous finite element spaces on the right. The number
of unknowns for the linear 1D problem is in parentheses to either side, which is much
less for continuous finite elements.

10

Owen J. Eslinger

We have established a matrix operator B, given in Equation (2.4), that acts


as a change of basis for a given level of mesh refinement. This operator takes the
coefficients corresponding to continuous piecewise linear basis functions and returns
the coefficients corresponding to discontinuous piecewise linear basis functions. We
will further denote this operator for different levels of mesh refinement by adding
a subscript, such that BN is the change of basis operator for a 1D mesh with N
elements, etc. We would now like to establish prolongation operators between levels
of mesh refinements. These prolongation matrices will become the foundation of a
multilevel scheme.
First we define a prolongation operator for continuous basis functions. This operator will take the basis coefficients from a mesh with N elements and return those for
CG
a mesh with 2N elements using linear interpolation. Thus P2N,N
: RN 1 R2N 1 .
The relationships between the spaces of test functions can be seen in Figure 2.5. We
can define this matrix via the construction
1
if i = 2j 1 or 2j + 1
2
1j N 1
CG
1
if i = 2j
(2.14) P2N,N
.
(i, j) =
1
i 2N 1

0
otherwise
We can also define a similar prolongation operator for discontinuous basis functions.
DG
: R2N R4N will be defined via the construction
Here P2N,N

1
if i = 4k 3 and j = 2k 1

if
i = 4k 2 and j = 2k 1

if
i = 4k 1 and j = 2k 1
1kN
2
DG
1
1
i 4N .
if
i
=
4k

2
and
j
=
2k
(2.15) P2N,N
(i, j) =
2

j 2N
if
i
=
4k

1
and
j
=
2k
2

1
if
i
=
4k
and
j
=
2k

0
otherwise
CG
DG
are equivalent. That
BN and B2N P2N,N
Lemma 2.7. The matrix products P2N,N
CG
DG
is P2N,N BN = B2N P2N,N .
Proof. These two matrix products are actually quite simple, as all of the matrices
involved are sparse. Since these matrices are defined with a specific structure, we will
use that structure in this proof.
CG
CG
CG
(2i +
(i, j) and B2N P2N,N
(2i, j) = P2N,N
We begin by noting that B2N P2N,N
CG
1, j) = P2N,N (i, j). We also note that right-multiplying by BN effectively has the
DG
action of adding two columns together at a time. That is, the j th column of P2N,N
BN
th
th
DG
is the sum of the (2j) and (2j + 1) columns of P2N,N .
With this in mind, we can easily see that
1
if i = 4j 2

if i = 4j 1

1
if i = 4j

CG
B2N P2N,N
(i, j) =
1 i 4N
1
if i = 4j + 1
(2.16)
DG
1
j N 1
P2N,N
BN (i, j) =
1

if i = 4j + 2

if i = 4j + 3

2
0
otherwise
DG
CG
and thus P2N,N
BN = B2N P2N,N
where these operators take RN 1 R4N .
Algorithm 1 (CG-DG Multigrid Strategy). Let us define a multigrid strategy
as:

A Multi-Level Solver Method for DG

11

1. Smooth times with a stationary iterative method, where the iteration matrix
uses diagonal scaling. The weight is = h/2.
T to restrict the residual into the continuous
2. Use our change of basis matrix B
space and use well-established multigrid for continuous linear finite elements
T ADG B. Then project the correction e back into the disconwith ACG = B
T ADG Be = B
T r .
tinuous space with B. That is, solve for e in: B
Theorem 2.8 (Optimal Computational work of Algorithm 1). The computational work required for the multigrid strategy defined in Algorithm 1 will be of optimal
order for small .
Proof. The number of unknowns for the DG system with N elements will be 2N .
Each iteration in Step 1 of this method will be of the form
xk+1 = xk +

h k
r
2

where rk = b ADG xk is the residual. As ADG is sparse with maximum bandwidth


of 6 in the linear case, each iteration will require computational work of O(2N ). For
a small number of steps , the total computational work for Step 1 will be O(2N ).
T ADG B is of the optimal order since these matrices are sparse. It
The operation B
is also well known that the work required for 1D multigrid on the continuous problem
with N 1 degrees of freedom will be O(N ).
Therefore, the computational work required to perform Step 1 and Step 2 will be
of optimal order.
Theorem 2.9 (Convergence of Algorithm 1). The multigrid strategy defined
in Algorithm 1 will converge, with an optimal amount of computational work and
independent of the mesh size h and penalty .
Proof. Theorem 2.8 proves that the computational work is optimal for small .
We know that there are 3 distinct sets of positive eigenvalues of ADG . Two sets are
of the same order as the penalty term. These eigenvalues are tightly grouped near /h
and 2/h. In fact, the maximum eigenvalue is bounded above by 2/h. Therefore,
we can take advantage of this structure and use the straight-forward nature of the
stationary iterative method (Step 1) for this analysis. For this symmetric 1D case
with linear basis functions, we will diagonally scale the residual by h/2. Thus, the
h
iteration matrix is M = (I 2
ADG ), giving
xk+1 = M xk +

h
h k
b = xk +
r .
2
2

The eigenvalues of M are bounded above and below, 0 < (M ) < 1. This guarantees
that the stationary iterative method will converge. Hence, the entire method will
converge, independent of the penalty term . In fact, the norm of error from the
modes corresponding to 1,3 and 2,3 will be reduced by a factor of 103 after 10 such
iterations. The norm of the error from the modes corresponding to the set {k,2 } will
be reduced even further.
To demonstrate this, take 1 and note that for this symmetric system the
eigenvectors are linearly independent and orthogonal. Therefore, we can uniquely
decompose the error into its contributions corresponding to each eigenvector. Thus,
let e0 = V 1,3 , where V 1,3 is the eigenvector corresponding to the eigenvalue 1,3 . Then
h
e1 = M e0 = (1 21,3 )e0 . We have that k!1ke1 k!k k!1ke0 k!k/2. We could proceed
this way for as many iterations as we desire, while noting that 210 103 . For the

12

Owen J. Eslinger
h

set of eigenvalues {k,2 }, we have that 0 < (1 2k,2 ) <  1. The reduction for
these terms from the stationary iterative method will be much more dramatic then.
We have shown that Step 1 of the algorithm alone will guarantee convergence. In
a reasonable number of iterations, however, the stationary iterative method in Step
1 will not significantly reduce the error coming from the continuous eigenvectors,
that is the set corresponding to the eigenvalues {k,1 }. Step 2 of this method will
attempt to correct this, while retaining the optimal computational cost. Therefore,
after taking 10 to 20 iterations in Step 1, we will restrict to the continuous regime
and use multigrid for continuous linear finite elements to reduce the error from these
terms. There will be no contribution from the discontinuous eigenvectors, since these
T . Also, when we project the correction back into V DG , the
are in the null space of B
orthogonality of the eigenvectors precludes any pollution.
T ADG By = B
T r is
It remains to be shown that the solving for y such that B
a good strategy.
Suppose that y solves this linear system. We know that V DG =
L
Range(B) N ull(B T ). In fact, these two subspaces are orthogonal. Therefore, the
error e = xtrue x can be decomposed into e = eB + eN , where eB Range(B)
and eN N ull(B T ). The residual r = b ADG x can be decomposed as well, into
r = rB + rN , where rB Range(B) and rN N ull(B T ). Since ADG eB Range(B)
T
T ). Then B
T r =
we have that ADG eB = rB . Also,
) = N ull(B
 note that N ull(B
T B
T
DG
B
DG
B

B r , and B A (By) r
= 0. Both A (By) and r are in Range(B)
T ). Thus, ADG (By) = rB . Hence, the solution y of
and are orthogonal to N ull(B
T ADG By = B
T r is a correction of the guess x and By = eB . Multigrid is used
B
to solve this continuous linear problem to below the level of the discretization error,
while keeping the computational costs to a minimum.
Therefore, in our algorithm, Step 1 will reduce the error from the discontinuous
eigenvectors and the boundary, and Step 2 will reduce the continuous components of
the error. In fact, we are free to pick a rather large penalty term without hampering
the convergence of this multigrid solution method.
2.5. Extension to NIPG, IIPG, and High-order DG. The relationship
between the primal DG methods SIPG, IIPG and NIPG/OBB is fairly simple. This
allows us to see that the following lemma will hold.
Lemma 2.10 (NIPG & IIPG Eigenvectors). The set of eigenvectors from continuous Galerkin finite elements, is also a subset of the eigenvectors of the NIPG and
IIPG stiffness matrices.
Proof. Simply note that 21 BACG = ADG B = AIIP G B = AN IP G B. This is
straight-forward given Equations (2.6 - 2.7). Then Remark 2, can be used to show
that these will indeed be eigenvectors.
Lemma 2.11 (Bound on NIPG & IIPG Eigenvalues). The set of eigenvalues of
the NIPG and IIPG stiffness matrices are also bounded by 2/h. We are also able
to make the following conjecture
Conjecture 1. The multi-level strategy given in Algorithm 1 would be effective
for NIPG and IIPG, p = 1. Numerical results in support of this claim can be found
in the next section.
An alternative manner in which to frame this approach is that we are attempting
to find eigenvector coefficients for the solution to this problem. It is for this reason that
we have written the eigenvalue and eigenvector pairs as we did. Thus for higher-order
DG methods in 1D with p > 1, the question is, will this approach hold? Numerically,
what we have seen is that Algorithm 1 provides an improved initial guess for a Krylov
subspace method. For the model problem, this allows us find the solution while taking

13

A Multi-Level Solver Method for DG

Table 2.1
Convergence of SIPG for Poissons Eq. in 1D using a uniform mesh and a dense, exact solve
of the linear system. Used for comparison with the multilevel solver developed in this work.

1/h = N
1
2
4
8
16
32
64
128
256

L2 Error
2.9440e-01
2.6328e-02
6.7529e-03
6.7529e-03
1.7053e-03
4.2823e-04
1.0728e-04
2.6848e-05
6.7152e-06

Rate
0
3.0202
3.7024
3.8988
3.9599
3.9823
3.9917
3.9960
3.9980

H 1 Error
1.0477e+00
6.4641e-01
3.4165e-01
1.7324e-01
8.6925e-02
4.3500e-02
2.1754e-02
1.0878e-02
5.4389e-03

Rate
0
1.6207
1.8920
1.9721
1.9930
1.9983
1.9996
1.9999
2.0000

a bounded number of Krylov steps, independent of and h. Thus we have a second


approach, Algorithm 2. Another way to think of this is that we are reducing the
residual for certain eigenvectors to zero in Steps 1 & 2, allowing the Krylov method
to become more efficient in the remaining search directions.
Algorithm 2 (CG-DG Multigrid Strategy 2). Let us define a multigrid strategy
as:
1. Smooth times with a stationary iterative method, where the iteration matrix
uses diagonal scaling. The weight is = h/2.
T to restrict the residual into the continuous
2. Use our change of basis matrix B
space and use well-established multigrid for continuous linear finite elements
T ADG B. Then project the correction e back into the disconwith ACG = B
T ADG Be = B
T r .
tinuous space with B. That is, solve for e in: B
3. Use this as an improved initial guess for a Krylov subspace algorithm.
Lemma 2.12 (1D Higher-Order Eigenvalues). The eigenvalues and eigenvectors
for the CG finite element stiffness matrix with linear hat basis functions are a subset
of those for higher-order DG methods with a hierarchical set of shape functions in
1D.
Proof. We can derive a change of basis operator X from high-order DG to CG with
linear hat basis functions. Then using Remark 2, we can see that X T ADG,p X = ACG .
Thus, the eigenvalues of ACG will be a subset of the eigenvalues of ADG,p . Also, for
y an eigenvector of ACG , Xy will be an eigenvector of ADG,p . This is true in 1D
because the higher-order shape functions are zero at the end of the master element.
This will not necessarily be true in higher dimensions, and it almost certainly will not
be.
Conjecture 2. The multi-level strategy given in Algorithm 2 would be effective
preconditioner for higher-order DG methods in 1D. That is, perform Multigrid on the
linear CG system as a preconditioner before using a Krylov-subspace method to solve
the global DG linear system. Numerical results in support of this claim can be found
in the next section.
2.6. Numerical Results. The SIPG method has been implemented in 1D for
the model problem, Equation (1.1a), over the domain [0, 1] using the true solution
(2.17)

u = (x)(1 x) exp(x).

14

Owen J. Eslinger

The software Matlab (v. 7.0.1.24704 (R14) Service Pack 1) was employed for the
numerical solution of this problem. The convergence of the DG method is shown in
Table 2.1 for a progression of mesh sizes 1/h = N = 2k , where 0 k 8. The L2 and
H 1 norms of the error in the linear DG solution are given in the 2nd and 4th columns,
respectively, using the known true solution u . The convergence in these norms is
shown in the 3rd and 5th columns, respectively. Since the mesh size h is halved in
each successive solution of the numerical system, we can easily see that the rates of
convergence match expectations.
Using the internal function eig in Matlab, the eigenvalues were found for the
stiffness matrix ADG arising from the SIPG system in 1D. A plot of these eigenvalues
versus the number of elements N = 1/h is given in Figure 2.6. In this figure, one can
see that the maximum eigenvalue scales linearly with the penalty term . In fact, the
maximum eigenvalue N 1,2 2 as . In this plot, there are actually a set of
eigenvalues {i,2 } clustered around 2. The scale of the plot makes these appear as
one value. There are also two other eigenvalues 1,3 and 2,3 that scale linearly with
. In the limit, their value is . These eigenvalues also appear as a single value in
this figure.
In Figure 2.7 the eigenvalues of the SIPG stiffness matrix are shown for a variety
of penalty terms while keeping a constant value of 1/h = N = 16. It is clear from this
figure that the set of eigenvalues {i,1 } is completely independent of the penalty term.
Again, these eigenvalues correspond to those from the continuous Galerkin stiffness
matrix. This figure demonstrates the potential of a two stage preconditioner for this
system. There are N + 1 eigenvalues that scale with and are O(), and there are
N 1 that are independent of and constant for a given mesh partition.
The linear system was solved again for a progression of mesh refinements using
the multi-level solver strategy in Algorithm 1. This was done for the symmetric
SIPG system. For completeness, the numerical tests were performed with IIPG and
NIPG as well. The results are shown in Figure 2.8. A generous, = 20, number
of smoothing iterations were performed for Step 1 of this algorithm, independent of
mesh size. Numerically, we observed that for SIPG, 12 15 iterations were
more than sufficient. However, NIPG and IIPG needed more iterations for the most
refined meshes. Twenty iterations were sufficient, independent of the DG method
employed and independent of penalty term. As one can observe in the figure, the
curves lie almost on top of one another and are indistinguishable. For the solution of
this problem, the initial guess, and hence error, contained components from all three
sets of eigenvectors,
x0 = c1 V 2,1 + c2 V 3,2 + c3 V 1,3 ,
where ci O(1). Other combinations of eigenvectors were used and the algorithm
converged in all cases.
The multigrid solve for B T ADG B was performed with software from Aksoylu,
Bond, and Holst [1]. This code was designed to work with stiffness matrices from nodebased linear continuous finite elements and it was treated as a black-box multigrid
solver for this work.
Numerical results using Algorithm 2 and the case of higher-order polynomials,
p > 1, in 1D are shown in Figure 2.9. As we can see, the correct rates of convergence
are seen for P = 1, 2, 3. While this convenient relationship between higher-order
polynomials and the continuous linear basis functions may not extend to higher dimensions, Algorithm 2 remains interesting. This method of using the continuous

A Multi-Level Solver Method for DG

15

linear basis functions as a means of improving the guess for an iterative method may
be quite useful for problems such solving the pressure equation in a IMPES two-phase
flow formulation. The answer at the previous time step is readily available, and in conjunction with this method, we have seen numerically that this approach is adequate
to solve the pressure equation for some problems in 3D.
As a final 1D case, we also examined the case of heterogeneous K. That is, we
took K = 1 for x (0, .5) and K = 100 for x (.5, 1). The eigenvalues of the
resulting stiffness matrix ADG are shown in Figure 2.10. Again, we see that despite
this discontinuous jump in K there remains a group of eigenvalues independent of
. Therefore, we applied Algorithm 1 to the numerical solution of this problem. We
observe in Figure 2.11 that the correct rate of convergence of the DG method is seen
and that this algorithm converges to the same answer as obtained when a dense direct
solve was used.
Note that in many of the numerical examples we have looked at, the size of
the penalty term is often quite high. This was done primarily to show that this
separation exists between the groups of eigenvalues. This distinction will also be
present when is a more reasonable value although it will not be as obvious. Also
note that a large penalty may be needed in heterogeneous and non-isotropic (??)
cases. Also, for more realistic two-phase flow problems (??) it may be unclear as to
what exactly is the optimal size of the penalty parameter. As the reader is probably
well aware, another parameter to tune is often the last thing the end user needs to be
concerned with. Therefore, one may wish to set one single value of , large enough to
guarantee convergence, e.g., SIPG and IIPG, and low enough to avoid problems with
the condition number.
The numerical results shown in this chapter were produced using desktop workstations running Redhat Linux 7.X, e.g., 1.6GHz AMD Athlon processors with at
least 512M of RAM.
Acknowledgements. The author would like to thank the following people for
their valuable insight and for the lively discussions that resulted: Mary F. Wheeler,
Burak Aksoylu, and Klaus Johannson.
REFERENCES
[1] B. Aksoylu, S. Bond, and M. Holst. Fourier two-level fourier analysis for discontinuous Galerkin
discretization with linear elements. SIAM J. Sci. Comput., 25:478498, 2003.
[2] W. L. Briggs, V. E. Henson, and S. F. McCormick. A Multigrid Tutorial. SIAM, Philadelphia,
second edition, 2000.
[3] G. H. Golub and C. F. Van Loan. Matrix Computations. The Johns Hopkins University Press,
Baltimore, third edition, 1996.
[4] M. F. Wheeler. An elliptic collocation-finite element method with interior penalties. SIAM J.
Numer. Anal., 15(1):152161, 1978.

16

Owen J. Eslinger

Fig. 2.5. Representation of a multi-level scheme with both DG and CG components. Vertically
there are 3 levels, each representing a different level of mesh refinement in 1D, with N , 2N , and
4N elements respectively. The coarsest mesh level is the bottom level with N elements. In the left
column, we have spaces of discontinuous piecewise linear polynomials, e.g. VNDG , and on the right,
spaces of continuous linear polynomials, e.g. VNCG . The numbers in parenthesis to either side are the
number of degrees of freedom for each respective polynomial space at that level of mesh refinement.
Finally, along the arrows are the prolongation and change of basis operators, P and B respectively.
The arrows point from coarse to fine spaces.

B4N
(8N )

DG
V4N

CG
V4N

(4N 1)

DG
P4N,2N

CG
P4N,2N

B2N
(4N )

DG
V2N

CG
V2N

(2N 1)

DG
P2N,N

CG
P2N,N

BN
(2N )

VNDG

VNCG

(N 1)

A Multi-Level Solver Method for DG

17

Fig. 2.6. 1D SIPG: Plot of Eigenvalues of the DG stiffness matrix ADG with linear basis
functions vs. N = 1/h for the penalty = 1000. A large penalty is used to demonstrate the separate
clusters of eigenvalues.

Fig. 2.7. 1D SIPG: Plot of Eigenvalues of the DG stiffness matrix ADG with linear basis
functions vs. penalty, , for 1/h = 16. This plot demonstrates the independence of the set of
eigenvalues {k,1 } from

18

Owen J. Eslinger

Fig. 2.8. 1D P=1 Convergence of the Multilevel Method: Plot of L2 Error vs. mesh size,
N = 1/h. Shown are lines for the primal methods SIPG, NIPG and IIPG using the CG-DG
Algorithm 1, and an exact solution using a dense solve for SIPG. These curves are almost identical.

Fig. 2.9. 1D P > 1 Convergence of the Multilevel Method: Plot of L2 Error vs. mesh size,
N = 1/h. Shown are convergence histories of the SIPG primal method using this CG-DG Algorithm
2 for different polynomial orders of approximation. The correct rates of convergence are seen.

A Multi-Level Solver Method for DG

19

Fig. 2.10. 1D Heterogeneous K SIPG: Plot of Eigenvalues of the DG stiffness matrix ADG
with linear basis functions vs. penalty, , for 1/h = 16. Here K = 1 for x (0, .5) and K = 100
for x (.5, 1). This plot demonstrates the independence of the set of eigenvalues {k,1 } from

Fig. 2.11. 1D SIPG Heterogeneous K Convergence of the Multilevel Method: Plot of L2 Error
vs. mesh size, N = 1/h. Shown are convergence histories of the SIPG primal method using this CGDG Algorithm 1 vs. the Exact solution using a dense, direct solve. The correct rates of convergence
are seen.

You might also like