Professional Documents
Culture Documents
Abstract. A multi-level method for primal discontinuous Galerkin (DG) methods is derived for
discretizations arising from Poisson’s Equation in 1 dimension with p = 1.
Key words.
1. Model Problem. The model problem for this work will be the linear second
order equation,
(1.1a) − ∇ · (K∇u) = f ∀x ∈ Ω,
(1.1b) u=g ∀x ∈ ∂Ω = Γ,
and the linear form for the right hand side will be given as
X Z X σr Z XZ
(1.3) fh (v) = fv + [g][v] − [g]{K∇v · ν}.
E |es | es es
E∈Eh 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, Poisson’s 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 de-
noted as ADG unless otherwise indicated. One can see by inspection that the bilinear
form aSIP
h
G
(u, v) is indeed symmetric. With a sufficient penalty, this particular DG
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.
† US Army Corps of Engineers, 3909 Halls Ferry Rd., Vicksburg, MS, 39180
(Owen.J.Eslinger@erdc.usace.army.mil)
1
2 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
0 1
h - h - h - h -
6 @
@
φ̄1 @ φ̄2
@
1 @
@
@
@
? @
0 ξ 1
6 @
@
ψi @
@
1 @
@
@
@
? @
xi−1 xi xi+1
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
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
1 wi ψi .
It is clear that VhCG ⊂ VhDG . We would like to define a matrix operator that rep-
resents the change in basis between these two subspaces. That is, if U ∈ VhCG ∩ VhDG ,
P2N PN −1
and U = 1 ui φi = 1 ǔj ψj , then we would like to define a matrix operator B
4 Owen J. Eslinger
such that u = B ǔ. Here u and ǔ 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 .
1 if k = 2i
(2.4) B(k, i) = 1 if k = 2i + 1 1≤i≤N −1
0 otherwise
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.
We will also define the matrix operator B̄ T = (1/2)B T . This is a more natural
choice when restricting from VhDG to VhCG . 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
coefficient of the continuous hat function there. An example of B̄ T is given for N = 4,
0 21 12 0 0 0 0 0
B̄ T = 0 0 0 21 12 0 0 0 .
0 0 0 0 0 12 12 0
Lemma 2.1 (B̄ T B is the Identity). Given the change of basis matrix B, as defined
in Equation (2.4), then B T B = cI, where c is constant and I : RN −1 → RN −1 is
identity matrix operator for RN −1 . Also, B̄ T B = I.
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 ,
then BB T y = cy, where c is constant. Also, B B̄ T y = y.
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
form aSIP
h
G
(u, v) given in Equation (1.2) to construct the global stiffness matrix ADG .
Therefore, the entry in the ith row and j th column, ADG (i, j), is given by aSIP
h
G
(φj , φi )
for 1 ≤ i, j ≤ 2N .
A Multi-Level Solver Method for DG 5
Notice that U = LT for SIPG. The left and right boundary conditions are given by
BCL and BCR respectively.
1+sf orm 1
sf orm
− 2h 0 2h
(2.7) BCL = sf orm 2h , BCR = 1 1+sf orm
2h 0 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 mul-
tiplication by B and left multiplication by B T is to effectively combine discontinuous
6 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,
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
1≤i≤N −2
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
2 kπ
λk (A) = 4 sin 1≤k ≤N −1
2N
and the associated eigenvectors are
k kiπ
V (i) = sin
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 Poisson’s 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 Gersh-
gorin 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
2σ
λ(ADG ) ⊂ (0, ].
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
8 Owen J. Eslinger
Fig. 2.4. For the 1D SIPG Stiffness matrix for Laplace’s Equation: (left) A plot of the function
corresponding to the smoothest eigenvector for N = 4, and (right) a plot of the function correspond-
ing 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.
..
.
k(i−1)π
sin
2 kπ N
sin2 V k,1
(2.10) λk,1 = , = k(i)π
h 2N 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.
..
.
k(i−1)π
2σ − 2 sin2 kπ (−1)i sin
N
V k,2
2N
(2.11) λk,2 = , =
k(i)π
h (−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 9
following are true in the limit, that is as σ → ∞. For σ < C, they may not be exact.
..
1
σ 1,3 0 2,3 .
(2.12) λ1,3 ≈ λ2,3 ≈ , V = , V = 0
h ..
. 1
In this 1D case, we can see by inspection that the eigenvectors are indeed orthog-
onal. Notice that there are 3 distinct sets of eigenvalues. We have
2
0 < C ≤ {λk,1 }1N −1 ≤
h
σ
(2.13) λ1,3 ≈ λ2,3 ≈
h
2σ − 2 2σ
≤ {λk,2 }1N −1 < .
h h
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
P of B i,1 is ADG -invariant. Thus if x ∈ Range(B), then x = xi V i,1 and
DG
A x= λi,1 xi V ∈ Range(B). Note that N ull(B ) = span({V }, V 1,3 , V 2,3 ).
T k,2
We can also define a similar prolongation operator for discontinuous basis functions.
DG
Here P2N,N : R2N → R4N will be defined via the construction
1 if i = 4k − 3 and j = 2k − 1
1
if i = 4k − 2 and j = 2k − 1
2
1
if i = 4k − 1 and j = 2k − 1 1≤k≤N
2
DG 1
(2.15) P2N,N (i, j) = 2 if i = 4k − 2 and j = 2k 1 ≤ i ≤ 4N .
1
if i = 4k − 1 and j = 2k 1 ≤ j ≤ 2N
2
1 if i = 4k and j = 2k
0 otherwise
DG CG
Lemma 2.7. The matrix products P2N,N BN and B2N P2N,N are equivalent. That
DG CG
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
We begin by noting that B2N P2N,N (2i, j) = P2N,N (i, j) and B2N P2N,N (2i +
CG
1, j) = P2N,N (i, j). We also note that right-multiplying by BN effectively has the
action of adding two columns together at a time. That is, the j th column of P2N,N
DG
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
2 if i = 4j − 2
1
if i = 4j − 1
2
1 if i = 4j
CG
B2N P2N,N (i, j) = 1 ≤ i ≤ 4N
(2.16) DG 1 if i = 4j + 1
P2N,N BN (i, j) = 1 1 ≤j ≤N −1
2 if i = 4j + 2
1
if i = 4j + 3
2
0 otherwise
DG
and thus P2N,N CG
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σ.
2. Use our change of basis matrix B̄ T to restrict the residual into the continuous
space and use well-established multigrid for continuous linear finite elements
with ACG = B̄ T ADG B. Then project the “correction” e back into the discon-
tinuous space with B. That is, solve for e in: B̄ T ADG Be = B̄ T rν .
Theorem 2.8 (Optimal Computational work of Algorithm 1). The computa-
tional 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
h k
xk+1 = xk + r
2σ
h h k
xk+1 = M xk + 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 − 2σ1,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 2−10 ≈ 10−3 . For the
12 Owen J. Eslinger
hλ
set of eigenvalues {λk,2 }, we have that 0 < (1 − 2σk,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
are in the null space of B̄ T . Also, when we project the correction back into V DG , the
orthogonality of the eigenvectors precludes any pollution.
It remains to be shown that the solving for y such that B̄ T ADG By = B̄ T r is
a good strategy. Suppose that y solves this linear system. We know that V DG =
Range(B) N ull(B T ). In fact, these two subspaces are orthogonal. Therefore, the
L
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)
we have that ADG eB = rB . Also, note that N ull(B
T
) = N ull(B̄ T ). Then B̄ T r =
T B T DG B
B̄ r , and B̄ A (By) − r = 0. Both A (By) and rB are in Range(B)
DG
and are orthogonal to N ull(B̄ ). Thus, ADG (By) = rB . Hence, the solution y of
T
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
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,
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 node-
based 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 di-
mensions, 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 con-
junction 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 work-
stations 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:478–498, 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):152–161, 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
DG CG
(8N ) V4N V4N (4N − 1)
6 6
DG CG
P4N,2N P4N,2N
B2N
DG CG
(4N ) V2N V2N (2N − 1)
6 6
DG CG
P2N,N 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 CG-
DG Algorithm 1 vs. the Exact solution using a dense, direct solve. The correct rates of convergence
are seen.