ArticlePDF Available
HIERARCHICAL A POSTERIORI ERROR ESTIMATION OF
BANK–WEISER TYPE IN THE FENICS PROJECT
RAPHAËL BULLE, JACK S. HALE, ALEXEI LOZINSKI, STÉPHANE P. A. BORDAS,
AND FRANZ CHOULY§
Abstract. In the seminal paper of Bank and Weiser [Math. Comp., 44 (1985), pp. 283–301]
a new a posteriori estimator was introduced. This estimator requires the solution of a local Neu-
mann problem on every cell of the finite element mesh. Despite the promise of Bank–Weiser type
estimators, namely locality, computational efficiency, and asymptotic sharpness, they have seen little
use in practical computational problems. The focus of this contribution is to describe a novel algo-
rithmic approach to constructing hierarchical estimators of the Bank–Weiser type that is designed
for implementation in a modern high-level finite element software with automatic code generation
capabilities. We show how to use the estimator to drive (goal-oriented) adaptive mesh refinement
for diverse Poisson problems and for mixed approximations of the nearly-incompressible elasticity
problems. We provide comparisons with various other used estimators. Two open source implemen-
tations in the DOLFIN and DOLFINx solvers of the FEniCS Project are provided as supplementary
material.
Key words. hierarchical a posteriori error estimates, adaptive meshing, goal oriented error
estimates, linear elasticity, FEniCS Project
AMS subject classifications. 35-04, 65-04, 65N15, 65N30
1. Introduction. A posteriori error estimation [3] is the defacto tool for assess-
ing the discretization error of finite element method (FEM) simulations, and itera-
tively reducing that error using adaptive mesh refinement strategies [65].
This paper is concerned with the description and justification of a novel algorith-
mic approach and implementation of an error estimator introduced in the seminal
paper of Bank and Weiser [17, Section 6]. In that paper an error estimate was de-
rived involving the solution of local Neumann problems on a special finite element
built on nested or hierarchical spaces. This estimator has seen relatively sparse use
in practical computational problems. The overarching goal of this contribution is to
provide access to an efficient, generic and extensible implementation of Bank–Weiser
type estimators in a modern finite element software, specifically, the FEniCS Project
[5].
1.1. Background. The literature on a posteriori error estimation and adaptive
finite element methods is vast, so we focus on articles on practical software implemen-
Final accepted version published at: https://doi.org/10.1016/j.camwa.2022.11.009. This author
accepted version generated on January 27, 2023.
Funding: R.B. would like to acknowledge the support of the ASSIST research project of the
University of Luxembourg. This publication has been prepared in the framework of the DRIVEN
project funded by the European Union’s Horizon 2020 Research and Innovation programme under
Grant Agreement No. 811099. F.C.’s work is partially supported by the I-Site BFC project NAANoD
and the EIPHI Graduate School (contract ANR-17-EURE-0002).
Institute of Computational Engineering, University of Luxembourg, 6 Avenue de la Fonte, 4362
Esch-sur-Alzette, Luxembourg (raphael.bulle@uni.lu,stephane.bordas@uni.lu,jack.hale@uni.lu)
Laboratoire de Mathématiques de Besançon, UMR CNRS 6623, Université de Bourgogne
Franche-Comté, 16 route de Gray, 25030 Besançon Cedex, France (alexei.lozinski@univ-fcomte.fr)
§Université de Bourgogne Franche-Comté, Institut de Mathématiques de Bourgogne, 21078 Dijon,
France, (franz.chouly@u-bourgogne .fr)
Center for Mathematical Modeling and Department of Mathematical Engineering, University of
Chile and IRL 2807 CNRS, Santiago, Chile
Departamento de Ingenería Matématica, CI²MA, Universidad de Concepción, Casilla 160-C,
Concepción, Chile
1
2R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
tations of adaptive finite element methods and comparative performance studies.
The T-IFISS [26] software package, based on the existing IFISS [40] package, is
a finite element software written in MATLAB/Octave with a focus on a posteriori
error estimation and adaptive finite element methods. Recently [25], T-IFSS has
been extended to solve adaptive stochastic Galerkin finite element methods. The
stated emphasis of T-IFISS [26] is on being a laboratory for experimentation and
exploration, and also to enable the rapid prototyping and testing of new adaptive finite
element methods. A number of estimation and marking strategies are implemented
in T-IFISS, although not the Bank–Weiser estimator we consider in this paper. T-
IFISS only works for two-dimensional problems and it was never intended to be a
high-performance code suitable for large-scale computations e.g. high-performance
computing systems using the Message Passing Interface (MPI).
The PLTMG package [16] is one of the oldest open finite element softwares for
solving elliptic problems that is still under active maintenance, and includes many
advanced features such as hp-adaptive refinement, a posteriori error estimation, do-
main decomposition and multigrid preconditioning. The a posteriori error estimation
is based on a superconvergent patch recovery estimation technique introduced in [18].
PLTMG only works in two dimensions and is naturally limited from a usability per-
spective due to the programming tools available at its inception (Fortran and ANSI
C).
In [42] an adaptive first-order polynomial finite element method was implemented
in a code called p1afem using MATLAB. The primary goal was to show how the basic
finite element algorithm could be implemented efficiently using MATLAB’s vectoriza-
tion capabilities. A standard residual estimator [13] is used to drive an adaptive mesh
refinement algorithm. Again, like T-IFISS, p1afem only works in two dimensions.
The deal.ii finite element software [11] includes support for scalable adaptive mesh
refinement in two and three dimensions, particularly when built with the p4est li-
brary [29]. The only estimator included deal.ii library by default is the well-established
explicit Kelly estimator [54]. However, as it is stated in the conclusion of [54], this
estimator can give good hints for mesh refinement but it sometimes fails at predicting
the value of the global error, for example when the gradient of the solution is singular
in some point of the domain. Of course, different a posteriori error estimates can be
implemented by the user in C++ using the provided interfaces. Similarly, the libmesh
finite element software [58] also includes the Kelly estimator as standard, and allows
for more refined approaches to be implemented by the user.
In [73] a novel methodology for automatically deriving adaptive finite element
methods from the high-level specification of the goal functional and (potentially non-
linear) residual equation was implemented in the FEniCS Project. The emphasis of the
paper [73], in contrast with the T-IFISS toolbox [26], is on the automatic construction
of goal-oriented adaptive finite element methods, without much knowledge required on
the part of the user. The implicit residual problems are automatically localised using
bubble functions living on the interior and facets of the cell, and the dual problem [44]
is derived and solved automatically on the same finite element space as the primal
problem, before being extrapolated to a higher-order finite element space using a
patch-wise extrapolation operator. In practice the automatically derived estimators
seem to be able to effectively drive adaptive mesh refinement for a range of different
PDEs.
Explicit residual estimators are also commonly employed by users of high-level
finite element software packages as they can usually be expressed straightforwardly in
a high-level form language, e.g. [5,69]. In addition, as the name suggests, they can be
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 3
explicitly computed as they involve only functions of the known finite element solution
and the problem data. For example, [48] used the FEniCS Project to implement an
explicit residual error estimator for the Reissner-Mindlin plate problem from [24]. The
authors of [37] used the FEniCS Project to implement an explicit residual estimator
for elasticity problems within a dual-weighted residual framework. The dual problem
is solved on a higher-order finite element space in order to ensure that the weighting by
the dual residual solution does not vanish [73]. In [53] the authors use an explicit dual-
weighted residual strategy for adaptive mesh refinement of discontinuous Galerkin
finite element methods. The DUNE finite element software also includes support for
adaptive mesh refinement [21]. Due to the recent of the addition of the FEniCS Unified
Form Language [5] to DUNE, it is now possible to easily implement residual-type error
estimators, as shown in [21].
In the present work, aside of the Bank–Weiser estimator we will consider an ex-
plicit residual estimator [14] named residual estimator in the following, a flux recon-
struction based on averaging technique estimator [81], referred to as Zienkiewicz–Zhu
estimator, and a variant of the Bank–Weiser estimator introduced in [78] and referred
to as the bubble Bank–Weiser estimator. The residual estimator was proved to be
both reliable and (locally) efficient in [78] for any finite element order and in any di-
mension. The proof of reliability and (local) efficiency of Zienkiewicz–Zhu estimator
has been derived in [72], for linear finite elements in dimension two and generalised to
any averaging technique in any dimension in [32] and any finite element order in [19].
The bubble Bank–Weiser estimator was proved to be reliable and locally efficient in
[78] for any dimension and any finite element order.
A proof of the equivalence between the Bank–Weiser estimator and the exact
error was derived in the original paper [17]. However, this proof requires a saturation
assumption [17,39,64] asking for the best approximation with higher order finite
elements to be strictly smaller than that of lower order elements and which is known
to be tricky to assert in practice. Some progress has been made in [64] removing the
saturation assumption from the analysis. However, this progress was made at the
price of restricting the framework to linear polynomial finite elements and dimension
two only. The equivalence proof between Bank–Weiser and residual estimators have
been extended to dimension three by the authors in [27].
1.2. Contribution. The contribution of our paper to the existing literature is
as follows.
We develop a new algorithmic approach to constructing estimators of Bank–
Weiser type that is designed for implementation within a modern finite el-
ement code with automatic code generation capabilities e.g. the FEniCS
Project [5], Firedrake [43,70], FreeFEM++++ [50], Feel++ [69], GetFEM
[71] or Concha [36]. We additionally give a formal justification for the con-
struction of the algorithm.
We provide a concrete, generic and efficient implementation of the Bank–
Weiser estimator in the open source FEniCS Project finite element software
that works for Lagrange finite elements of arbitrary polynomial order and
in two and three spatial dimensions. We provide implementations for the
popular but legacy DOLFIN finite element solver [5], and the new DOLFINx
solver [47]. The two versions are functionally identical, although in terms of
overall speed and parallel scaling the DOLFINx version is superior due to
underlying architectural improvements. Hence we only show parallel scaling
results with this new version. The code is released under an open source
4R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
(LGPLv3) license [28]. Because the code utilises the existing automatic code
generation capabilities of FEniCS along with a custom finite element assembly
routine, the packages are very compact (a few hundred lines of code, plus
documentation and demos). Additionally, the estimators are implemented
in near mathematical notation using the Unified Form Language, see the
Appendices for code snippets.
A numerical comparison of the Bank–Weiser estimator with various estima-
tors mentioned earlier. We examine the relative efficiency, and their perfor-
mance within an adaptive mesh refinement loop on various test problems.
Unlike [35], we do not aim at running a competition of error estimators but
at stressing the potential of the Bank–Weiser estimator since, as the authors
of [35] point out, a single error estimation strategy is not sufficient to cover
the particulars of all possible problems.
Relying on results in [22], we show a goal-oriented adaptive mesh refinement
algorithm can be driven by weighted sum of estimators, computed separately
on primal and dual problems discretized on the same finite element space.
This avoids the extrapolation operation of [73] or the need to compute the
dual solution in a higher-order finite element space [23].
Using the same basic methodology as for the Poisson problem, we extend our
approach to estimating errors in mixed approximation of nearly incompress-
ible elasticity problems. This idea was originally introduced in [3] and is still
an active research topic, see e.g. [55] for a parameter-robust implicit residual
estimator for nearly-incompressible elasticity.
1.3. Outline. An outline of this paper is as follows:
In subsection 1.4 we outline the main notation and definitions used in this
paper.
In sections 2 and 3we show the derivation of the primal problem and the
Bank–Weiser error estimator.
In section 4 we derive a new method for computing the Bank–Weiser estimator
and discuss its implementation in FEniCS.
In section 5 we discuss the use of the approach for various applications such
as goal-oriented adaptive mesh refinement and for mixed approximations of
PDEs.
Then, in section 6 we show some results on two and three dimensional Poisson
test problems as well as on linear elasticity problems, before concluding in
section 7.
1.4. Notation. In this section we outline the main notations used in the rest
of the paper. Let be an bounded open domain of Rd(d= 1,2or 3), with polygo-
nal/polyhedral boundary denoted by Γ := . We consider Γ = ΓDΓNa partition
of the boundary. We assume ΓDis of positive measure. We denote by n: Γ Rd
the outward unit normal vector along Γ. Let ωbe a subset of . For lRwe denote
by Hl(ω)the Sobolev space of order l. The space H0(ω) = L2(ω)is the Lebesgue
space of square integrable functions over ω. The space Hl(ω)is endowed with the
usual inner product (·,·)l,ω and norm ∥·∥l,ω . We omit the subscript lwhen l= 0 and
subscript ωwhen ω= . We denote H1
D0(Ω) the subspace of H1(Ω) of functions
with zero trace on ΓD. We make use of the notation nv:= v·nfor the normal
derivative of a smooth enough function v. For lRand for a d-dimensional sub-
set ωof , we also define the following vector fields spaces L2(ω) := L2(ω)dand
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 5
Spatial domain of polygonal/polyhedral boundary
ΓBoundary of
ΓD,ΓNDirichlet boundary, Neumann boundary
nOutward unit normal
L2(ω)Lebesgue space of order 2over ω
Hl(ω)Sobolev space of order lover ω
H1
D0(Ω) Sobolev space of order 1with zero trace on ΓD
nvNormal derivative of the function v
L2(ω)Space of Rd-valued vector fields with each component in L2(ω)
Hl(ω)Space of Rd-valued vector fields with each component in Hl(ω)
H1
D0(Ω) Vectors fields in H1(Ω) with components with zero trace on ΓD
Table 1.1
Table of notations.
Hl(ω) := Hl(ω)d,with respective inner products defined as their scalar counter-
parts, replacing the scalar product by the Euclidean inner product or the Frobenius
double dot product. The space H1
D0(Ω) is the subspace of H1(Ω) of functions with
zero trace on ΓD. From now on, the bold font notation will be reserved to vector
fields. These notations are summarized in Table 1.1. With these notations at hand
we can proceed with the rest of the paper.
2. Primal problem statement and finite element discretization. We con-
sider the Poisson problem with mixed Dirichlet and Neumann boundary conditions.
Let Γ = ΓDΓNbe a partition of the boundary. We apply a Dirichlet bound-
ary condition on ΓDand a Neumann boundary condition on ΓN. Let fL2(Ω),
uDH1/2D)and gL2N)be known data. We seek a function u:
(2.1) u=fin , u =uDon ΓD, nu=gon ΓN.
Problem (2.1) can be written in an equivalent weak form: Find uH1(Ω) of trace
uDon ΓDsuch that
(2.2) (u, v) = (f, v) + (g, v)ΓN,vH1
D0(Ω).
The weak problem (2.2) can be discretized using the Lagrange finite element method.
We take a mesh Tof the domain , consisting of cells T={T}, facets E={E}(we
call facets the edges in dimension two and the faces in dimension three), and vertices
N={χ}. The mesh Tis supposed to be regular in Ciarlet’s sense: hTTγ , T
T, where hTis the diameter of a cell T,ρTthe diameter of its inscribed ball, and
γis a positive constant fixed once and for all. The subset of facets in the interior
of the mesh (i.e. those that are not coincident with the boundary Γ) is denoted EI.
The subset of facets lying on ΓDis denoted ED. The subset of facets lying on ΓNis
denoted EN. The subset of facets lying on the boundary of the domain Γis denoted
EB=ED EN. Until the end of this work we assume that the mesh resolves the
boundary conditions, in other words for any edge EΓthen EΓDor EΓN.
Let n+Rdand nRdbe the outward unit normals to a given edge as seen by
two cells T+and Tincident to a common edge E. If we denote Pk(T)the space of
polynomials of order kon a cell T, the continuous Lagrange finite element space of
order kon the mesh Tis defined by
(2.3) Vk:= vkH1(Ω), vk|T Pk(T)T T .
6R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
We denote Vk
Dthe finite element space composed of functions of Vkvanishing on
the boundary ΓD. We consider the finite element problem: Find ukVksuch that
uk=uD,k on ΓDand:
(2.4) (uk,vk) = (f, vk) + (g, vk)ΓN,vkVk
D,
and where uD,k is a discretization of uDon Vk(for example the Laplace interpolation
or a L2orthogonal projection).
3. The Bank–Weiser estimator. In this section we derive the general defini-
tion of the Bank–Weiser estimator from the equation of the error as it was given in
the original paper [17]. We also give a concrete example of the Bank–Weiser estimator
for linear finite elements.
3.1. The global error equation. We are interested in estimating the error we
commit by approximating the solution uby ukVk
D. We define this error by the
function e:= uukand we want to estimate its norm e1. The first step towards
this will be to derive a new variational problem for which the exact error eis the
solution. For a cell Tof the mesh, we introduce the interior residual as
(3.1) rT:= (f+ uk)|T,
and for an edge E, the edge residual
(3.2) JE=
0if E ED,
[[nuk]]Eif E EI,
(gnuk)|Eif E EN.
where the notation [[v]]E:= v+vdenotes the jump in the value of the function
across an interior facet E EI. Here, v+and vdenote the values of von the facet
Eas seen by the two incident cells T+and T, respectively. The error function e
satisfies what we call the global error equation
(3.3) (e, v) = X
T∈T
(rT, v)T+X
E∈EI
(JE, v)E+X
E∈EN
(JE, v)E,vH1
D0(Ω),
and e=uDukon the Dirichlet boundary ΓD.
3.2. The local Bank–Weiser space and the Bank–Weiser estimator. We
introduce now local finite element spaces in order to derive the finite element approx-
imation of the error. For a cell Tof the mesh we define
(3.4) Vk
T,D := vk,T Pk(T), vk,T = 0 in (Ω \T)(TΓD),
as well as
(3.5) Vk
T:= {vk,T Pk(T)}.
A key idea in the Bank–Weiser estimator derivation is to introduce an appropriate
finite element space for the discretization of error. This non-standard space has two
roles. Firstly, for the local problems involving the cells with facets only in the interior
of the domain or on the Neumann boundary, it should remove the constant functions,
giving a unique solution. Secondly, and as we will notice in section 6, solving the
local error equation on the finite element space Vk
T,D /Rdoes not necessary lead to an
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 7
accurate estimation of the error. However, in some cases, the estimation of the error
can be surprisingly accurate when the space is judiciously chosen. We refer the reader
to [1] for a full discussion.
Before introducing this non-standard space, we need some more notations. Let k+
and kbe two non-negative integers such that k+> k0. Let e
Tbe the reference
cell fixed once for all (independent from the mesh T). We denote
(3.6) Le
T:Vk+
e
T Vk+
e
T,Im(Le
T) = Vk
e
T,
the Lagrange interpolation operator between the local spaces Vk+
e
Tand Vk
e
T¢Vk+
e
T.
Moreover, for any cell Tof the mesh, there exists an affine bijection
(3.7) S:e
T T
ex7− S(ex) =: x
mapping e
Tonto T. From the mapping Swe deduce another mapping given by
(3.8) S:Vk+
T Vk+
e
T
v(x)7− S(v)(ex) := v(S(ex)).
If we denote d+the dimension of Vk+
e
Tand dthe dimension of Vk
e
T, given B+
e
T:=
{eϕ1,· · · ,eϕd+}the basis of shape functions of Vk+
e
Tand B+
T:= {ϕ1,· · · , ϕd+}the basis
of Vk+
T, we can always find a mapping S(and a mapping S) such that
(3.9) S(ϕT,i ) = eϕT ,i ,i {1,· · · , d+},
We choose Sand Sso. For a given cell Tof the mesh, we define the Lagrange
interpolation operator on Tas follows
(3.10) LT:= S1 L e
T S.
Note, due to (3.9), the matrix of Sin the couple of basis (B+
T,B+
e
T)is the identity
matrix of size d+×d+. Consequently, if we denote Gthe matrix of LTin the basis
B+
Tand e
Gthe matrix of Le
Tin the basis B
e
T, we have
(3.11) G= Id1e
GId = e
G.
For a cell Tof the mesh, the local Bank–Weiser space Vbw
Tis defined as the null space
of LT, in other words
(3.12) Vbw
T:= ker(LT) = nvbw
TVk+
T,LTvbw
T= 0o.
Similarly, we define
(3.13) Vbw
T,D := vbw
TVbw
T, vbw
T= 0 on TΓD.
With these new spaces in hand, we can derive a local discrete counterpart of equation
(3.3) on any cell T: Find eTVbw
Tsuch that:
(3.14) ebw
T,vbw
T=rT, vbw
T+1
2X
E∂T JE, vbw
TE,vbw
TVbw
T,D ,
8R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
and eT=πbw
T(uDuk)on ΓD, where πbw
T:L2(T)Vbw
Tis a proper projection
operator (the way this projection is implemented is detailed in subsection 4.1).
Note, the definition of the edge residual Jtakes into account the error on the
Neumann boundary data approximation. The Dirichlet boundary data approximation
has to be incorporated to the linear system during the solve of (3.14), as we will see
later. For a detailed discussion on a priori and a posteriori error estimation with
inhomogeneous Dirichlet boundary conditions see [12,20].
Finally, on the cell Tthe local Bank–Weiser estimator ηbw,T is defined by
(3.15) ηbw,T := ∥∇ebw
TT,
where eTis defined in (3.14) and the global Bank–Weiser estimator by the sum of
local estimates
(3.16) η2
bw := X
T∈T
η2
bw,T .
Note, althought it is not shown in this study, it is straightforward to generalize
the Bank–Weiser estimator for other kind of elliptic operators by changing the energy
norm in (3.15) accordingly.
3.3. A particular example. If we assume k= 1 (i.e. we solve (2.4) using linear
finite elements) one can define the space Vbw
Tfrom the choice of k+= 2,k=k= 1.
This example was the case considered in the numerical tests of the original paper
[17]. The space Vbw
Tconsists of quadratic polynomial functions (in V2
T) vanishing at
the degrees of freedom of the standard linear finite element functions (in V1
T) i.e. the
degrees of freedom associated with the vertices of T.
4. Algorithms and implementation details. The linear system correspond-
ing to (3.14) is not accessible in FEniCS. This prevents us from directly solving the
Bank–Weiser equation. We propose to bypass the problem by constructing the linear
system corresponding to (3.14) from another linear system derived from finite element
spaces that are accessible directly in FEniCS.
4.1. Method outline.
1. We consider the following singular value decomposition (SVD) of G
(4.1) G=UΣVT,
where Σis a diagonal matrix composed of the singular values of G. The
columns of the matrix Vare singular vectors of G, associated with singular
values. The columns associated with singular values zero span the null space
of G. We take the submatrix Nmade of the columns of Vspanning the null
space of G. Note that, since Gdoes not depend on any cell T, the same
property holds for N.
2. We build the matrix A+
Tand vector b+
Tof the local linear system corresponding
to the following variational formulation in the space Vk+
T, available in FEniCS:
(4.2) e+
T,v+
T=rT, v+
T+1
2X
E∂T JE, v+
TE,v+
TVk+
T.
We integrate the Dirichlet boundary condition directly into A+
Tand b+
T, by
considering the vector associated to π+
T(uDuk), where π+
Tis the L2projec-
tion onto Vk+
T. More precisely, the rows and columns of A+
Tcorresponding to
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 9
Compute
G=G1G2
SVD of G
to obtain V
Extract N
from V
Computation of N
Compute A+
T
and b+
T
Compute Abw
T
and Abw
T
Solve (3.14)
Compute local
BW estimator
Computation of
the local estimators
Computation of
the global estimator
Loop over cells
Figure 4.1.Overall process of the Bank–Weiser estimator algorithm.
degrees of freedom on the Dirichlet boundary are zeroed and the correspond-
ing diagonal entries are replaced by ones. The entries of b+
Tcorresponding
to these degrees of freedom are replaced by the corresponding entries in the
vector of π+
T(uDuk).
3. We construct the matrix Abw
Tand vector bbw
Tas follows
(4.3) Abw
T=NTA+
TNand bbw
T=NTb+
T,
where Abw
Tand bbw
Tare the matrix and vector which allow to recover the
bilinear and linear forms of (3.14) in a basis of Vbw
T.
4. We solve the linear system
(4.4) Abw
Txbw
T=bbw
T,
5. We bring the solution back to Vk+
T, considering N xbw
T, in order to post-process
it and compute the local contribution of the Bank–Weiser estimator (3.15).
4.2. Computational details. We now give more details specific to our imple-
mentation in FEniCS of each one of the above steps.
1. Computation of N.This is the key point of our implementation. The operator LT
can be written as follows:
(4.5) LT:Vk+
T Vk
T Vk+
T
v+7− G1(v+)7− G2G1(v+).
Then, the matrix Gis obtained via the following product
(4.6) G=G2G1,
where G1and G2are respectively the matrix in the couple of basis (B+
T,B
T)of
the Lagrange interpolation operator from Vk+
Tto Vk
T, denoted G1, and the matrix
in the same couple of basis of the canonical injection of Vk
Tinto Vk+
T, denoted
G2. The matrices G1and G2can be calculated either using the Finite Element
Automatic Tabulator (FIAT) [56] or, as we choose to do, using the interpolator
construction functions of the DOLFIN/x finite element library [60]. The next
step consists in computing the unitary matrix Vof right singular vectors of G.
10 R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
This computation is done using the singular value decomposition (SVD) algorithm
available in the SciPy library [79]. We can write the matrix Vas follows,
(4.7) V=ξ0
1|···| ξ0
dbw |ξ1|···|ξd,
where Bbw
T:= {ξ0
1,· · · , ξ0
dbw }is the set of singular vectors of Gcorresponding to a
zero singular value, spanning Vbw
Tand {ξ1,· · · , ξd}is spanning the supplementary
space. The matrix Nis then chosen as the submatrix of V, keeping only the
columns from Bbw
T:
(4.8) N:= ξ0
1|···| ξ0
dbw .
The linear algebra operations needed to form the submatrix Nfrom Vare per-
formed using the NumPy library [76].
2. Computation of A+
Tand b+
T.The equation (4.2) is expressed directly in the Unified
Form Language (UFL) [6] and efficient C++ code for calculating the cell local
tensors A+
Tand b+
Tfor a given cell Tis then generated using the FEniCS Form
Compiler (FFC) [57,83]. If the cell Thas an edge on a Dirichlet boundary ED,
the matrix A+
Tand vector b+
Tmust be modified in order to enforce the boundary
condition.
3. Computation of Abw
Tand bbw
T.The matrix Abw
Tand vector bbw
Tare constructed
using (4.3).
4. Solution of the linear system (4.4).The linear system (4.4) is solved using a partial-
pivot LU decomposition algorithm from the Eigen dense linear algebra library [46]
in DOLFIN and xtensor-blas, which calls LAPACK’s dgesv in DOLFINx.
5. Computation of the Bank–Weiser estimator. Finally, the solution xbw
Tis sent back
to Vk+
Tusing Nand the norm of the corresponding function, giving the local
estimator (3.15) is computed using standard high-level functions already available
within FEniCS. The global estimator (3.16) is computed using the information of
all the local contributions.
4.3. Additional remarks.
The custom assembler composed of steps 2.-5. is performed by looping over
every cell of the mesh and, by virtue of using the abstractions provided by
DOLFINx, works in parallel on distributed memory computers using the Mes-
sage Passing Interface (MPI) standard. For performance reasons these steps
have been written in C++ and wrapped in Python using the pybind11 library
so that they are available from the Python interface to DOLFIN/x. In con-
trast, the first step must only be performed once since the matrix Nis the
same for every cell of the mesh.
A posteriori error estimation methods such as the one we are considering
here assume that the linear system associted with the primal problem (2.2) is
solved exactly. However for performance reasons, here we use PETSc conju-
gate gradient iterative method. Using inexact solutions can have an influence
on the total error but also on the a posteriori error estimator itself. It is
a known issue [10] and several authors have proposed ways to estimate the
algebraic error, see e.g. [9,66]. Since algebraic error estimation is beyond
the scope of this work, in all our numerical results we set PETSc residual
tolerance small enough to neglect this part of the error.
Because we use the automatic code generation capabilities of FEniCS, our
approach can be readily applied to other definitions for the spaces Vk+
Tand
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 11
Vk
T, and to vectorial problems like linear elasticity, as we will see in the next
section.
For large problems the storage of the global higher order space Vk+can be an
issue since it requires a lot of memory space. However we avoid this problem
by considering the local higher order spaces Vk+
T(and local lower order spaces
Vk
T) only.
In the numerical results secton we compare several versions of Bank–Weier
estimator and especially the one we call bubble Bank–Weiser estimator and
denote ηb
Twhich can be obtained with our method by taking V+
Tas the space
V2
T+ Span{ψT}(the local space of quadratic functions enriched with the
space spanned by the interior bubble function) and Vk
Tas V1
T. The resulting
space Vbw
Tis spanned by the interior bubble function and the edges bubbles
functions of the cell T.
4.4. Formal justifications. Key points concerning the matrix Nin our imple-
mentation have to be justified: the fact that it satisfies (4.3), its independence with
respect to the current cell Tand finally, the fact that it gives the correct estimator.
The following theorem answers these questions.
Theorem 4.1. Let e+
Tbe the solution to (4.2) and Nbe the matrix obtained in
(4.8). Then:
1. The matrix Nsatisfies (4.3).
2. The matrix Nis the same for each cell of the mesh.
3. The local contribution of the Bank–Weiser estimator on the cel l Tis given by
ηbw,T =∥∇e+
TT.
Proof. Let us show the three points of Theorem 4.1 successively.
1. The columns of Nare vectors (expressed in the basis B+
T) spanning Vbw
Tseen as a
subspace of Vk+
T. Consequently, given a function vin Vbw
Tof vector xin the basis
given by the columns of N(denoted Bbw
T), Nx is its vector in the basis B+
T. Now,
if we consider two functions vbw and wbw in Vbw
T¢Vk+
T, of vectors xbw
vand xbw
w
in the basis Bbw
Twe have by definition of Abw
T:
(4.9) xbw
v
TAbw
Txbw
w=ZT
vbw · wbw.
Thus their vectors in the basis B+
Tare xv:= Nxbw
vand xw:= Nxbw
w. Then, by
definition of A+
T,
(4.10) xT
vA+
Txw=xbw
v
TNTA+
TNxbw
w=ZT
vbw · wbw =xbw
v
TAbw
Txbw
w.
since this is true for any couple of functions vand win Vbw
Twe have NTA+
TN=
Abw
T. A similar argument gives NTb+
T=bbw
T.
2. We have shown in (3.11) that the matrix Gof the local Lagrange interpolation
operator LTdoes not depend on the cell T. The same is true for the matrix N
since it is directly derived from G.
3. This last point is a direct consequence of 1., if we denote xbw
Tthe vector solution to
(4.4), corresponding to the function ebw
T, solution to (3.14) in the basis Bbw
T. Then,
the vector Nxbw
Tis the vector of ebw
T, expressed in the basis B+
T. In other words,
(4.11) ebw
T=
dk+
X
i=1
(Nxbw
T)iϕk+κ
i=e+
T.
12 R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
So,
(4.12) ηbw,T =∥∇ebw
TT=∥∇e+
TT.
5. Applications. In this section we show a number of applications, including
adaptive mesh refinement, goal-oriented estimation and extensions to more complex
mixed finite element formulations for the nearly-incompressible elasticity problems.
5.1. Adaptive mesh refinement. As well as simply providing an estimate
of the global and local error, the estimator can be used to drive an adaptive mesh
refinement strategies. In the following we compare different refinement strategy all
based on the following loop:
... SOLVE ESTIMATE MARK REFINE ...
The loop can be terminated once a given criterion e.g. maximum number of iterations,
or global error less than a given tolerance, has been reached. A detailed discussion
on adaptive refinement methods can be found in [65]. In the following we expand on
the specific algorithms used in our case.
5.1.1. Solve. The weak form (2.2) is discretized using a standard finite element
method implemented within FEniCS. The resulting linear systems are solved using the
appropriate algorithms available within PETSc [15], e.g. conjugate gradient method
preconditioned with Hypre BoomerAMG [41], or direct methods, e.g. MUMPS [7,8].
5.1.2. Estimate. The Bank–Weiser estimator ηbw is formulated and imple-
mented as described in section 4. The local contributions of the estimator provide
an estimate of the local error for each cell in the mesh and are subsequently used to
mark the mesh. In addition the global estimator can be used to determine when to
stop iterating.
5.1.3. Mark. We have used two distinct marking strategies throughout the re-
sults section: the maximum strategy on the three-dimensional test cases and Dörfler
strategy on the two-dimensional ones. We follow the presentation in [67]. In the
maximum marking strategy [13], a cell is marked if its indicator is greater than a
fixed fraction of the maximum indicator. More precisely, given a marking fraction
θ(0,1], the marked set M ¢ T is the subset such that:
(5.1) ηbw,T gθmax
T∈T ηbw,T ,T T .
In the Dörfler marking strategy [38] (sometimes referred to as the equilibrated
marking strategy) enough elements must be marked such that the sum of their es-
timators is larger than a fixed fraction of the total error. Given a marking fraction
θ(0,1], the marked set Mis the subset with minimal cardinality #Msuch that
(5.2) X
T∈M
η2
bw,T gθX
T∈T
η2
bw,T .
We implement an O(Nlog N)with N:= #Tcomplexity algorithm for finding the
minimum cardinality set by sorting the indicators in decreasing order and finding the
cutoff point such that (5.2) is satisfied. Because of the ordering operation this set is
guaranteed to have minimal cardinality. We note that recent work [51,67] proposes
aO(N)complexity algorithm for finding the set with minimum cardinality.
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 13
5.1.4. Refine. We use two-dimensional and three-dimensional variants of the
algorithm proposed in [68], sometimes referred to as the Plaza algorithm. This al-
gorithm works by subdividing the facets of each marked triangle or tetrahedron cell
and then subdividing each triangle or tetrahedral cell so that it is compatible with
the refinement on the facets. The algorithm has O(M)complexity in the number of
added mesh vertices M. This algorithm already exists in DOLFIN [60] and was used
for the numerical results in [73].
5.2. Goal-oriented adaptive mesh refinement. In many practical applica-
tions it is desirable to control the error in a specific quantity of interest, rather than
the (global, i.e. across the entire domain ) energy norm [23]. In this section we
show how the basic Bank–Weiser estimator can be used to control error in a goal
functional, rather than in the natural norm. To do this, we use a weighted marking
strategy proposed in [22].
Let J:L2(Ω) Rbe a given linear functional. Associated with J(u)and
the primal problem (2.2) is the dual or adjoint problem: Find the dual solution
zH1
D0(Ω) such that
(5.3) (v, z) = J(v),vH1
D0(Ω).
The dual problem, like the primal problem, can also be approximated using the finite
element method. Find zkVksuch that
(5.4) (vk,zk) = J(vk) = (c, vk) + (h, vk)Γ,vkVk.
Using Galerkin orthogonality and Cauchy-Schwarz, it follows that
|J (u) J (uk)|=|((uuk),z)|(5.5)
=|((uuk),(zzk))|(5.6)
f ∥∇(uuk)∥∥∇(zzk),(5.7)
where the inequality holds due to Galerkin orthogonality.
Approximating the primal and dual errors ∥∇(uuk)and ∥∇(zzk)with
any estimators ηuand ηzrespectively, gives us an estimator for the error in the goal
functional |J(u)J(uk)|as the product of ηuand ηz, thanks to (5.7):
(5.8) ηw:= ηuηz
In addition, if ηuand ηzare reliable estimators i.e. if there exist two constants Cu
and Czonly depending on the mesh regularity such that
(5.9) ∥∇(uuk) f Cuηu,and ∥∇(zzk) f Czηz,
then, ηwis reliable as well
(5.10) |J(u)J(uk)|CuCzηw.
Note that because the error in the goal functional is bounded by the product of
two estimates, the element marking strategy must incorporate information from local
indicators for both approximations to reduce the error on refinement. There are
multiple strategies for doing this in the literature, see e.g. [63]. We have chosen to
14 R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
implement the weighted goal-oriented (WGO) marking strategy from [22]. The local
WGO estimator is then defined as
(5.11) η2
w,T := η2
z
η2
u+η2
z
η2
u,T +η2
u
η2
u+η2
z
η2
z,T ,T T .
The marking and refinement using η2
w,T then follows in exactly the same manner as
in the standard adaptive refinement strategy.
5.3. Extension to linear elasticity problems. Our implementation of the
Bank–Weiser estimator can be directly applied to mixed formulations of (nearly-
incompressible) linear elasticity problems using the results in [55]. In [2] a new a
posteriori error estimator is introduced for mixed formulations of Stokes problems
consisting in solving a local Poisson problem based on the local residuals on each
cell. This estimator has been proved to be reliable and efficient in [2] under a satu-
ration assumption. This assumption has been later removed in [59]. The reliability
and efficiency of the estimator for mixed formulations of linear elasticity is proved in
[55] without the need of a saturation assumption. In addition, they show that the
estimator is robust in the incompressible limit.
We consider the problem of linear deformation of an isotropic elastic solid
using the Herrmann mixed formulation. We consider the stress tensor σ: Rd×d,
the strain tensor ε: Rd×d, the load f: Rdwhich belongs to L2(Ω)d,
the Dirichlet boundary data uDin H1/2D)d, the Neumann boundary condition
(traction) data gL2N)dand displacement field u: Rd. The stress and
strain tensors are defined by
σ:= 2µε(u)pId,(5.12a) ε(u) := 1
2u+ (u)T.(5.12b)
where Id is the d×didentity matrix and µand λare the Lamé coefficients. The weak
form of this linear elasticity problem reads: find uin H1(Ω) of trace uDon ΓDand
pL2(Ω) such that
2µ(ε(u),ε(v)) (p, div(v)) = (f,v) + (g,v)ΓN,vH1
D0(Ω),(5.13a)
(q, div(u)) + 1
λ(p, q) = 0,qL2(Ω).(5.13b)
The problem given by (5.13a) and (5.13b) admits a unique solution (see e.g. [55]). We
introduce the finite element spaces XD¢H1
D0(Ω) and M¢L2(Ω) such that
(5.14) XD:= V2
Dd,
and M:= V1. Let wbe a discretization of uDX. Considering the stable Taylor–
Hood method of discretization, the mixed finite element approximation of (5.13a) and
(5.13b) reads: find u2XDwith u2=won ΓDand p1Msuch that
2µ(ε(u2),ε(v2)) (p1,div(v2)) = (f,v2) + (g,v2),v2XD,(5.15a)
(q1,div(u2)) + 1
λ(p1, q1) = 0,q1M.(5.15b)
Similarly to (5.13a) and (5.13b) transposed to the discrete context, (5.15a) and (5.15b)
have a unique solution. If we denote e:= uu2and ε:= pp1the discretization
error is measured by 2µ∥∇eT+rT.
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 15
For a cell Tand an edge Ethe residuals are defined by
(5.16a) RT:= (f+ div (2µε(u2)) p1)|T,(5.16b) rT:= div(u2) + 1
λp1|T,
(5.16c) RE=
1
2[[(p1Id 2µε(u2)) n]] if E EI,
0if E ED,
g(p1Id 2µε(u2))nif E EN,
Here, once again we derive the a posteriori error estimator from these residuals and
a local Poisson problem, following [55]. Let Tbe a cell of the mesh, the local Poisson
problem read: find eTVbw
Tsuch that
(5.17) 2µ(eT,vT)T= (RT,vT)TX
E∂T
(RE,vT)E,vTVbw
T.
The Poisson estimator is then defined by
(5.18a) η2
p:= X
T∈T
η2
p,T ,(5.18b) η2
p,T := 2µ∥∇eT2
T+rT2
T.
This estimator has been proved to be reliable and locally efficient in [55] as well
as robust in the incompressible limit.
6. Results. We illustrate our implementation first on several two dimensional
problems as Poisson problems with solutions of different regularities and with different
boundary conditions. Then, we also look at examples of linear elasticity, and goal-
oriented problems. We now treat a three dimensional example: a linear elasticity
problem on a mesh inspired by a human femur bone. One can find another example
of three dimensional application in [27].
All the numerical results were produced within DOLFIN except for the goal-
oriented example subsection 6.2 and the strong scaling tests in subsection 6.5, which
were performed using DOLFINx.
We apply different adaptive refinement methods as presented in subsection 5.1.
For each method we perform the estimation step with a different estimator among
the following: ηres the residual estimator, defined in section A,ηzz the Zienkiewicz–
Zhu estimator, defined in section B. Note that we use the most basic version of the
Zienkiewicz–Zhu estimator which is not defined for quadratic or cubic finite elements
nor for linear elasticity problems, and consequently will be absent from the comparison
in these cases (It is possible to extend the idea of the Zienkiewicz–Zhu estimator
to higher-order polynomials via the definition of the Scott-Zhang interpolator, see
[33,75]). In addition we compare several versions of the Bank–Weiser estimator: the
bubble Bank–Weiser estimator ηb
bw defined from the enriched bubble functions space
and ηk+,k
bw for multiple choices of the fine and coarse spaces orders k+and k.
For each one of the following test cases we will first give a comparison of all the
refinement strategies by giving the efficiency of the a posteriori error estimator on the
last mesh of the hierarchy, where the efficiency of an estimator ηis defined as follows:
(6.1) eff := η
εerr
,
where εerr is a higher order approximation of the exact error computed either from
the knowledge of the analytical solution or from a higher-order finite element method
on a fine mesh.
16 R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
k
k+
3
2
1
0
1 2 3 4
1.34 1.53 1.53 1.59
1.22 1.53 1.72
0.0 0.7
0.29
ηres
ηb
bw
ηzz
3.56
1.78
0.99
Figure 6.1.L-shaped Poisson problem with linear elements: efficiencies of η
k+,k
bw and other
estimators on the last mesh of an adaptively refined hierarchy.
6.1. Poisson problems.
6.1.1. L-shaped domain. We consider a 2D L-shaped domain = (1,1)2\
[1,0]2. We solve (2.1) with f= 0,ΓD= Γ,uDgiven by the analytical solution
defined below and ΓN=. In polar coordinates, the exact solution is given by
uexact(r, θ) = r2/3sin 2/3(θ+π/2). The exact solution belongs to H5/3ε(Ω) for
any ε > 0and its gradient admits a singularity at the vertex of the reentrant corner
[45, Chapter 5]. L-shaped domains are often used to test adaptive mesh refinement
procedures [62]. In both linear and quadratic finite elements all the estimators reach
an expected convergence rate ( 0.5in the number of degrees of freedom for linear
elements and 1for quadratic elements). The choice of a posteriori error estimator
is not critical for mesh refinement purposes, every estimator leading to a hierarchy of
meshes on which the corresponding errors εerr are similar. For brevity we have not
included the convergence plots of these results.
Linear elements. As we can see on Figure 6.1 the Zienkiewicz–Zhu estimator
ηzz seems to perform the best in terms of efficiency while the second best estimator
is η2,1
bw . The bubble Bank–Weiser estimator ηb
bw is outperformed by almost all the
other Bank–Weiser estimators. The residual estimator ηres largely overestimates the
error while the estimators ηk+,k
bw for k>1largely underestimates it, leading to poor
error approximations. Among the poor estimators, η3,2
bw is surprisingly off for linear
elements on this test case. This behavior seems to be specific to the L-shaped test
cases with linear finite elements as we will see below.
Quadratic elements. As shown on Figure 6.2, the best estimator in terms of
efficiency is η2,0
bw which nearly perfectly matches the error εerr. We can also notice the
very good efficiencies of η4,2
bw and η3,2
bw . Once again the Bank–Weiser estimators with
k>2drastically underestimate the error. We can notice that the residual estimator
is less efficient as the finite element degree increases.
6.1.2. Mixed boundary conditions L-shaped domain. We solve (2.1) on
the same two-dimensional L-shaped boundary domain as in subsection 6.1.1 but with
different boundary conditions. We consider f= 0,ΓN={(x, y )R2, x < 0, y = 0}
and ΓD= Γ \ΓN. The boundary data are given by g= 0 and uD=uexact =
r1/3sin 1/3(θ+π/2). The exact solution belongs to H4/3ε(Ω) for any ε > 0and
its gradient has a singularity located at the reentrant corner of Γ(see [45, Chapter
5]). As before, each estimator is leading to a convergence rate close to the expected
one ( 0.5for linear elements, 1for quadratic elements) and the choice of the
estimator does not impact the quality of the mesh hierarchy.
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 17
k
k+
3
2
1
0
1 2 3 4
0.66 1.0 1.12 1.27
1.61 2.1 2.28
0.92 1.07
0.31
ηres
ηb
bw
ηzz
8.67
1.84
Figure 6.2.L-shaped Poisson problem with quadratic elements: efficiencies of η
k+,k
bw and
other estimators on the last mesh of an adaptively refined hierarchy.
k
k+
3
2
1
0
1 2 3 4
0.83 1.06 1.08 1.14
0.94 1.21 1.34
0.0 0.55
0.23
ηres
ηb
bw
ηzz
2.84
1.24
0.91
Figure 6.3.Mixed boundary conditions L-shaped Poisson problem with linear elements: effi-
ciencies of η
k+,k
bw and other estimators on the last mesh of an adaptively refined hierarchy.
Linear elements. First thing we can notice from Figure 6.3 is that the estima-
tors efficiencies are quite different from those in Figure 6.1. Most of the Bank–Weiser
estimator efficiencies have improved, except when k>1. The Zienkiewicz–Zhu esti-
mator ηzz is no longer the most efficient and has been outperformed by η2,0
bw ,η2,1
bw and
η3,0
bw . The Bank–Weiser estimator η3,2
bw still performs poorly as in Figure 6.1, while the
residual estimator ηres once again largely overestimates the error.
Quadratic elements. As for linear elements, the efficiencies in Figure 6.4 are
very different from Figure 6.2, many Bank–Weiser estimators are now underestimating
the error. The most efficient estimator is η2,1
bw closely followed by the bubble Bank–
Weiser estimator ηb
bw. As for the previous test cases, the Bank–Weiser estimators
with k>2are largely underestimating the error.
6.1.3. Boundary singularity. We solve (2.1) on a two-dimensional unit square
domain = (0,1)2with u=uexact on ΓD= Γ, (ΓN=) and fchosen in order to
have u(x, y) = uexact(x, y) = xα,with α0.5. In the following results we chose α=
0.7. The gradient of the exact solution uadmits a singularity along the left boundary
of (for x= 0). The solution ubelongs to H6/5εfor all ε > 0[52,61]. Consequently,
the value of αdetermines the strength of the singularity and the regularity of u.
Due to the presence of the edge singularity, all the estimators are achieving a
convergence rate close to 0.2for linear elements. Moreover, this rate does not im-
prove for higher-order elements (for brevity, the results for higher-order elements are
not shown here). The low convergence rate shows how computationally challenging
such a problem can be. Once again the choice of estimator is not critical for mesh
refinement purposes.
18 R. BULLE, J. S. HALE, A. LOZINSKI, S. P. A. BORDAS, F. CHOULY
k
k+
3
2
1
0
1 2 3 4
0.57 0.86 0.83 0.97
1.05 1.37 1.43
0.62 0.78
0.3
ηres
ηb
bw
ηzz
5.91
1.17
Figure 6.4.Mixed boundary conditions L-shaped Poisson problem with quadratic elements:
efficiencies of η
k+,k
bw and other estimators on the last mesh of an adaptively refined hierarchy.
k
k+
3
2
1
0
1 2 3 4
0.74 1.15 0.94 1.1
1.06 1.27 1.41
0.72 0.95
0.62
ηres
ηb
bw
ηzz
17.02
1.23
0.6
Figure 6.5.Boundary singularity Poisson problem with linear elements: efficiencies of η
k+,k
bw
and other estimators on the last mesh of an adaptively refined hierarchy.
Linear elements. The best estimator in terms of efficiency is η2,1
bw which slightly
overestimates the error, closely followed by η4,2
bw underestimating the error as we can
see on Figure 6.5. Unlike the previous test case, here the Zienkiewicz–Zhu estimator
ηzz grandly underestimates the error. The worst estimator is the residual estimator
ηres which gives no precise information about the error. We can notice that the poor
performance of the estimator η3,2
bw on the L-shaped test case does not reproduce here.
Quadratic elements. Again, Figure 6.6 shows that the best estimator is η2,1
bw
closely followed by η2,0
bw and the bubble estimator ηb
bw. The residual estimator is get-
ting worse as the finite element degree increases.
Remark. Before finishing this section we briefly remark on the choice of k+and
kin terms of robustness of the resulting adaptive mesh hierarchy. Our numerical
results show that the choice of k+and k(or even the choice of the residual, ZZ or
BW estimators) does not affect the quality of the hierarchy of meshes in the following
sense:
In all cases the convergence rates of the estimator and of the exact error
(when the analytical solution is known) are optimal.
In the cases where the analytical solution is known, the values of the exact
error are roughly the same no matter the choice of the estimator.
However with respect to sharpness of the error estimation, there remains a heuristic
aspect of the choice of k+ and k- (or indeed, the overall error estimation strategy) in
that we cannot confidently predict the ‘best’ choice a priori.
6.2. Goal-oriented adaptive refinement using linear elements. We solve
the L-shaped domain problem as described in subsection 6.1.1 but instead of control-
ling the error in the natural norm, we aim to control the error in the goal functional
HIERARCHICAL ERROR ESTIMATION OF BANK-WEISER TYPE 19
k
k+
3
2
1
0
1 2 3 4
0.46 0.91 1.29 1.51
0.96 1.54 1.7
1.2 1.4
1.16
ηres
ηb
bw
ηzz
37.61
1.13
Figure 6.6.Boundary singularity Poisson problem with quadratic elements: efficiencies of
η
k+,k
bw and other estimators on the last mesh of an adaptively refined hierarchy.
J(u) = (c, u)with ca smooth bump function
(6.2) cr) := e¯r2 ,
where ¯r2= (x¯x)2+ (y¯y)2,σRis a