You are on page 1of 18

MA5156 Lecture Nine, 11/04/2003

A posteriori error analysis


1. An a posteriori L
2
(0, 1) error estimate
2. An a posteriori maximum error estimate
3. Adaptivity
1
9.1 An a posteriori L
2
(0, 1) error estimate
Recall that in order to derive our a priori L
2
(0, 1) estimate we
introduced the dual problem: nd w V such that
a(w, v) = (e, v) v V,
and we also used the fact that if

is bounded on [0, 1] then there


exists an elliptic regularity constant C
e
such that
w

C
e
e.
We use these again now in the proof of the a posteriori error estimate
that follows, but observe also how similar the following proof is to the
one for the energy-error estimate.
2
Theorem 9.1 [a posteriori L
2
(0, 1) error estimate]
If

is bounded on [0, 1] then the nite element error satises the


following a posteriori L
2
(0, 1) error estimate:
u u
h
C
e

2
_
n+1

i=1
h
2
(f + (u

h
)

)
2
L
2
(x
i1
,x
i
)
_
1/2
,
where
2
is the constant appearing in Theorem 8.1.
3
Proof: In the dual problem we take v = e to get
e
2
= (e, e) = a(w, e) = a(e, w) = a(e, w w),
= a(u, w w) a(u
h
, w w),
= (f, w w) a(u
h
, w w),
= R(w w).
4
Again we use the fact that w w = 0 at every node x
i
and so
Lemma 8.2 now gives
e
2
=
n+1

i=1
_
x
i
x
i1
(f + (u

h
)

)(w w) dx,
=
n+1

i=1
_
x
i
x
i1
_
h
2
(f + (u

h
)

)
__
h
2
(w w)
_
dx,

_
n+1

i=1
h
2
(f + (u

h
)

)
2
L
2
(x
i1
,x
i
)
_
1/2
h
2
(w w).
Using (II) from Theorem 8.1 and elliptic regularity we now have
h
2
(w w)
2
w

C
e

2
e.
Using this in our estimate for e
2
and cancelling e > 0 from both
sides then completes the proof.
5
Exercise 9.1 Show that if = constant > 0 then
u u
h
C
e

2
h
2
f,
and compare this result with Theorem 6.3.
6
9.2 An a posteriori maximum-error
estimate
As before, consider only = 1, so that we can use the Greens
function given by ((3), Lecture 7):
G(y, x) :=
_
_
_
(1 y)x 0 x y,
y(1 x) y x 1.
Adapting the proof of Theorem 5.7 (interpolation estimates) we get
h
1
(G(y, ) G(y, ))

(y, )

1, y [0, 1].
Now, since G

= 0 it does not make sense to seek an interpolation


estimate involving second derivatives of G(y, ), and therefore we can
only use h
1
rather than h
2
in our results.
7
The weak problem for the Greens function is
a(G(y, ), v) = v(y) v V,
for an arbitrary y [0, 1]. Choosing v = e V and proceeding
exactly as with our earlier estimates gives
e(y) = a(G(y, ), e) = a(e, G(y, ) G(y, )) = R(),
where := G(y, ) G(y, ). Hence
|e(y)| =

n+1

i=1
_
x
i
x
i1
_
hf
__
h
1

_
dx

n+1

i=1
h
i
hf

h
1
(G(y, ) G(y, ))

,
hf

independently of y.
Hence we have proven the following a posteriori error estimate:
8
Theorem 9.2
If = 1 and f is bounded then
u u
h

hf

.
This result is somewhat disappointing. Comparing it with the a
priori estimate given before in Theorem 7.2, we see that we only have
order h convergence instead of order h
2
.
This loss in sharpness of the a posteriori error bound is related to the
lack of regularity of the Greens function, and the problem is
exacerbated in higher dimensions. This does not mean that we
cannot show an optimal h
2
-type estimate, just that we have to work
a great deal harder.
9
Fortunately, in our case we can just use the fact u

= f and alter
the proof of Theorem 7.2.
Theorem 9.3 [a posteriori maximum-error
estimate]
If = 1 and f is bounded then
u u
h

Ch
2
f

,
where C is a constant independent of u and h.
Exercise 9.2: Prove this estimate.
We can now use these error bounds to control the error, rather than
just measuring it.
10
9.3 Adaptivity
The importance of the a posteriori error estimates is that the
quantities involved can actually be computed. Recall the a posteriori
energy-error estimate:
u u
h

E
E
E
(n, h, u
h
) :=
1
_
n+1

i=1
h(f + (u

h
)

)
2
L
2
(x
i1
,x
i
)
_
1/2
.
So, once we have determined u
h
, we can evaluate E
E
(n, h, u
h
) and
check to see whether the error is small enough, that is if
u u
h

E
TOL, by testing the condition
E
E
(n, h, u
h
) TOL.
11
If the error is small enough then we stop, otherwise we choose a new
discretization (i.e. a new mesh function

h(x)) and compute a new
solution u

h
. Of course, to make the error smaller we can expect that

h(x) h(x). This is an example of the general process termed


adaptivity, where we iteratively compute solutions and adapt the
existing mesh to the solution until we arrive at a solution that is
accurate enough for our needs. The basic problems in adaptivity are:
how to estimate the error,
how to choose

h(x).
The rst of these we have solvedwe just use our a posteriori error
estimates. To solve the second problem we use our a posteriori error
estimate again, but in a dierent way, using the principle of
equidistribution of error.
12
Suppose we want to nd an approximate solution u
h
to our model
problem that satises
u u
h

E
TOL,
where TOL is a user-supplied tolerance (a real positive number),
then we have seen above that this will be guaranteed if
E
E
(n, h, u
h
) TOL.
We start out by dividing the interval [0, 1] into n
(1)
+ 1 elements
where n
(1)
is a positive integer. This will yield a nite element
solution u
h
(1) where h
(1)
(x) is the piecewise constant mesh function
describing this mesh. The idea now is not to work with the global
error tolerance TOL, but to equally distribute (equidistribute) this
tolerance over all elements.
13
For this purpose we dene
tol
(1)
:=
TOL

n
(1)
+ 1
,
and then we see that our error control can be expressed in terms of
this local tolerance tol
(1)
as

2
1
h
(1)
(f+(u

h
(1)
)

)
2
L
2
(x
i1
,x
i
)
tol
2
(1)
for each i {1, 2, . . . , n
(1)
+1}.
14
If this inequality is satised on the element (x
i1
, x
i
) then no
adaptivity is required on that element while, on the other hand, if it
is not satised then this element needs to be rened. To see how the
mesh function needs to be adapted on this element recall that on
(x
i1
, x
i
) we have h
(1)
(x) = h
(1)
i
= constant, hence we can predict a
new value for h on this element by transposing our local error
estimate:
h
(2)
:= min
_
h
(1)
,
tol
(1)

1
f + (u

h
(1)
)

L
2
(x
i1
,x
i
)
_
for x (x
i1
, x
i
).
15
After we have performed these tests in each of the n
(1)
+ 1 elements
we have a new mesh function h
(2)
(x) which may agree with the old
one on some elements (i.e. h
(2)
(x) = h
(1)
(x)), or indicate a renement
in others (i.e. h
(2)
(x) < h
(1)
(x)). In the latter case these elements are
partitioned into a convenient number of smaller elements with lengths
satisfying h
(2)
i
h
(2)
(x), and we eventually end up with a new mesh
of n
(2)
+ 1 elements described by the mesh function h
(2)
(x).
16
The way forward is now clear. With this new mesh we compute a
new solution, u
h
(2) , and then iterate through all of these checks again
with tol
(2)
replacing tol
(1)
etc. We continue with this strategy until
we reach an integer j for which u
h
(j) does not require any element to
be rened. That is h
(j+1)
(x) = h
(j)
(x) in every one of the n
(j)
+ 1
elements. When this happens we will have a solution for which
u u
h
(j)
E
TOL,
which was our goal.
17
Finally, we note that this is not the only technique for deriving a
posteriori error estimates for boundary value problems. There is also
the widely used recovery method of Zienkiewicz and Zhu (the so
called Z
2
estimator), and also the element residual method of
Ainsworth and Oden.
Exercise 9.3: Work through this material carefully. In particular
understand how the local tolerance interacts with the global
tolerance to produce u u
h
(j)
E
TOL.
Exercise 9.4: It is also possible to present an analogous argument
to achieve L
2
(0, 1) error control:
u u
h
TOL.
Do this. Then derive the algorithm for error control in the norm

.
18

You might also like