1. Comparison of Nonlinear and Linear Stabilization
Schemes for Advection-Diffusion Equations
Ryan Grove*, Timo Heister
Department of Mathematical Sciences
Clemson University
*rgrove@clemson.edu
Abstract
Standard finite element discretizations of advection-diffusion equations introduce
unphysical oscillations around steep gradients. Therefore, stabilization must be
added to the discrete formulation to obtain correct solutions. The SUPG, dCG91,
and Entropy Viscosity schemes are compared using stationary and non-stationary
test equations. Differences in maximum overshoot and undershoot, smear, and
convergence orders are compared using code written using deal.ii.
Motivation
Here we consider a composition field, which describes the evolution of
additional fields that are transported along with the velocity and may react
with each other and react to other features of the solution, but that do not
diffuse. Below we see an example in the form of a rising bubble.
Start End
Objective:
The rising bubble should look exactly the same when it is done being
displaced as it does at the very beginning.
Things that go wrong:
• Diffusion - Should be a perfect rectangle
• Overshoots - The maximum value should be no higher than 1
• Undershoots - The minimum value should be no lower than 0
Note that it is difficult to minimize overshoots and undershoots without
creating too much smear.
Model
We assume that Ω is a bounded domain in Rd
, d = 2, 3, with Lipschitz
boundary, and consider the parabolic initial-boundary value problem: for each
t ∈ [0, T ] find u(x, t) such that
∂u(x, t)
∂t
− · ( u(x, t)) +
· (βu(x, t)) = f in QT := Ω × [0, T ] (1)
u(x, t) = 0 in ΣT := ∂Ω × [0, T ] (2)
u(x, 0) = u0(x) on Ω (3)
where β(x, t) : Ω × [0, T ] → Rdim
is a divergence free convection direction,
> 0 is a diffusion coefficient, and solution u(x, t) : Ω × [0, T ] → R.
Time Discretization
Consider Backwards Euler:
uk − uk−1
∆tk
= F (x, tk, uk), (4)
where ∆tk = tk − tk−1 = 1
c
. Therefore, from (1), we have that
cuk − · ( uk) + · (βuk) = f + cuk−1 = f . (5)
We then proceed using the Finite Element Method with piecewise linear elements,
and we obtain our weak form which is:
c (φ, uk) + ( φ, uk) − ( φ, βuk) = φ, f , (6)
Note that the BDF2 method was also used and that it creates a differently defined
f and c, but still has to solve a problem of this form.
First Order Viscosity
This is a naive method that simply adds more diffusion to the problem where
there is advection. Adding
( φ, h uk)
to our weak form yields:
c (φ, uk) + ( φ, ( + h) uk)
− ( φ, βuk) = (φ, f’) , (7)
where h = chhK||β||L∞(K).
SUPG[1],[2]
(Streamline Upwinding Petrov Galerkin)
This method attempts to add stabilization in the directions of streamlines of the
advection field. Added to our problem is the term
τβ · φ, −f + β · uk − ∆uk +
uk − uk−1
∆tk
,
where τ is actually the following:
α
(hK/k)
2||β||L∞(K)
coth
||β||L∞(K)(hK/k)
2
−
2
||β||L∞(K)(hK/k)
and is computed on each cell, where α is a user-picked O(1) constant and k is
the finite element order.
Entropy Viscosity[3]
This method aims to reduce overshoots through adding first order viscosity in
places of high entropy using a nonlinear scheme (we use fixed point iteration in
the stationary case, and the solution of the previous time step in the nonstationary
case).
Added to our problem is the term
( φ, vh(uk) uk) ,
where
vh(uk) = max (vmax(uk), vE(uk)) .
to the equation yielding:
c (φ, uk) + ( φ, ( + vh(uk)) uk) − ( φ, βuk) = (φ, f’) .
The above has:
vmax(uk) = αmaxhK||β||L∞(K),
which is essentially First Order Viscosity, and
vE(uk) = αE
h2
K||rE(uk)||L∞(K)
||E(uk) − Eavg||L∞(Ω)
where αE is a user-picked O(1) constant, ||E(uk) − Eavg||L∞(Ω) is the global
entropy variation, E(u) = (u − uavg)2
, and ||rE(uk)||L∞(K) is as follows:
||
∂E(uk)
∂t
+ (uk − uavg) (β · uk − ∆uk − f) ||L∞(K)
dCG91[1],[2]
This method aims to reduce overshoots through a nonlinear scheme (we use fixed
point iteration in the stationary case, and the solution of the previous time step
in the nonstationary case). In addition to SUPG, added to our problem is the
term
( φ, ¯(uk) uk)
where
¯(u) = α max 0,
τ||β||L∞(K)||r(u)||L∞(K)
| u|L∞(K)
− τ
||r(u)||2
L∞(K)
| u|2
L∞(K)
,
where α is a user-picked O(1) constant and
r(u)L∞(K) = ||β · uk − ∆uk +
uk − uk−1
∆tk
− f||L∞(K).
Exact Solution (Time Independent)
β = cos(−π
3
), sin(−π
3
)
= 10−5
Ω = [0, 1]2
f = 0
u = 0, if y ≤ −
√
3x + .7 or u = 1, otherwise
Smear and Max Over/Undershoot of Linear Elements
Note: All calculations were performed on a personal Linux laptop. Code was
written using deal.ii[4]
library. The following are results for when the number
of global refinements, n, is 6, and = 1e − 5:
Method Parameter Value Max val Max OU Smear L2 Error
No Stabilization - 1.309 3.1516e-1 3.7000e-2 7.2364e-2
FOV 1.0 1.0 0.0 3.5800e-1 1.3885e-1
SUPG 1.0 1.086 6.1433e-2 4.4000e-2 5.3867e-2
dCG91 Nonlinear 0.01 1.064 2.4761e-2 5.7000e-2 5.6957e-2
EV Nonlinear 1.0(max), 0.1(E) 1.145 7.0485e-2 4.3000e-2 5.1836e-2
Summary of Results for Linear Elements
From top left to bottom right: Exact solution, No stabilization, FOV, SUPG,
dCG91, and EV
Exact Solution (Time Dependent)
β = (−2πy, 2πx)
= 10−5
Ω = [0, 1]2
f = 0
u = 0, if y ≤ −
√
3x + .7 or u = 1, otherwise
Smear and Max Over/Undershoot of Linear Elements
Note: All calculations were performed on a personal Linux laptop. Code was
written using deal.ii[4]
library. The following are the results for one rotation,
where the number of time steps is 1000, n = 6, and = 1e − 5:
Method Parameter Value Max OU Smear L2
No Stability - 4.899011e-1 2.990000e-1 1.999698e-1
FOV 1.0 0.0 2.550000e-1 4.833988e-1
SUPG 1.0 5.086724e-2 3.630000e-1 1.894290e-1
dCG91 0.01 3.387065e-4 3.740000e-1 2.249393e-1
EV 1.0(max), 0.1(E) 9.174072e-2 3.710000e-1 2.074987e-1
Summary of Results for Linear Elements
From top left to bottom right: Exact Solution, No stabilization, FOV, SUPG,
dCG91, and EV
Bibliography
[1] John, Volker, and Petr Knobloch. ”On spurious oscillations at layers
diminishing (SOLD) methods for convection-diffusion equations: Part I-A
review.” Computer Methods in Applied Mechanics and Engineering 196.17
(2007): 2197-2215.
[2] John, Volker, and Petr Knobloch. ”On spurious oscillations at layers
diminishing (SOLD) methods for convection-diffusion equations: Part
II-Analysis for P1 and Q1 finite elements.” Computer Methods in Applied
Mechanics and Engineering 197.21 (2008): 1997-2014.
[3] Guermond, Jean-Luc, Richard Pasquetti, and Bojan Popov. ”Entropy
viscosity method for nonlinear conservation laws.” Journal of Computational
Physics 230.11 (2011): 4248-4267.
[4] Wolfgang Bangerth, Timo Heister, et al. The deal.II Library, Version 8.2.
Archive of Numerical Software, vol. 3, 2015, DOI
10.11588/ans.2015.100.18031, 2015. https://www.dealii.org/
This work is partially supported by the Computational Infrastructure in Geodynamics initiative (CIG), through the National Science Foundation under Award No. EAR-0949446 and The University of California – Davis.