
462
Chapter
 10.
 More about
 finite
 element methods
•
 Efficient
 computation
 of the
 various integrals
 that
 define
 the
 entries
 in the
stiffness
 matrix
 and
 load vector.
•
 Algorithms
 for
 assembling
 the
 stiffness
 matrix
 and the
 load vector.
We
 will
 now
 discuss these issues.
10.1.1
 Describing
 a
 triangulation
Before
 we can
 describe
 data
 structures
 and
 algorithms,
 we
 must develop
 notation
for
 the
 computational mesh. First
 of
 all,
 we
 will
 assume
 that
 the
 domain
 0 on
which
 the BVP is
 posed
 is a
 bounded polygonal domain
 in R
2
, so
 that
 it can be
triangulated.
75
 Let
be the
 collection
 of
 triangles
 in the
 mesh under consideration,
 and let
be the set of
 nodes
 of the
 triangles
 in
 Th-
 (Standard notation
 in finite
 element
methods
 labels
 each mesh with
 /i,
 the
 length
 of the
 longest side
 of any
 triangle
 in
the
 mesh. Similarly,
 the
 space
 of
 piecewise linear
 functions
 relative
 to
 that
 mesh
 is
denoted
 Vh, and an
 arbitrary element
 of
 Vh
 as
 Vh-
 We
 will
 now
 adopt
 this
 standard
notation.)
To
 make this discussion
 as
 concrete
 as
 possible,
 we
 will
 use as an
 example
 a
regular triangular mesh,
 defined
 on the
 unit square, consisting
 of 32
 triangles
 and
25
 nodes. This mesh
 is
 shown
 in
 Figure 10.1.
In
 order
 to
 perform
 the
 necessary calculations,
 we
 must know which nodes
 are
associated with which triangles.
 Of
 course, each triangle
 has
 three nodes;
 we
 need
to
 know
 the
 indices
 of
 these three nodes
 in the
 list
 HI,
 112,..
 -,
 HM-
 We
 define
 the
mapping
 e
 by the
 property
 that
 the
 nodes
 of
 triangle
 Tj
 are
 n
e
(
i;1
),
 n
e
(j
;2
),
 n
e
(i,3)
 •
(So
 e is a
 function
 of two
 variables;
 the first
 must take
 an
 integral value
 from
 1 to
L,
 and the
 second
 one of the
 integers
 1,2,3.)
In
 our
 sample mesh, there
 are 32
 triangles
 (L =
 32),
 and
 they
 are
 enumerated
as in
 Figure 10.2.
 The M = 25
 nodes
 are
 enumerated
 as
 shown
 in
 Figure 10.3, which
explicitly shows
 the
 indices
 of the
 nodes belonging
 to
 each triangle.
 For
 example,
expressing
 the
 fact
 that
 the
 vertices
 of
 triangle
 10 are
 nodes
 6, 7, and 12.
Each
 of the
 standard
 basis
 functions
 for the
 space
 of
 continuous piecewise
linear
 functions
 corresponds
 to one
 node
 in the
 triangulation.
 The
 basis
 functions
75
If
 the
 domain
 fi has
 curved boundaries, then,
 in the
 context
 of
 piecewise
 linear
 finite
 elements,
the
 boundary must
 be
 approximated
 by a
 polygonal
 curve
 made
 up of
 edges
 of
 triangles. This
introduces
 an
 additional error into
 the
 approximation. When
 using
 higher-order
 finite
 elements,
 for
example,
 piecewise
 quadratic
 or
 piecewise
 cubic
 functions,
 then
 it is
 straightforward
 to
 approximate
the
 boundary
 by a
 piecewise
 polynomial curve
 of the
 same degree
 as is
 used
 for the finite
 element
functions.
 This technique
 is
 called
 the
 isoparametric
 method,
 and it
 leads
 to a
 significant
 reduction
in
 the
 error.
 We
 will
 ignore
 all
 such questions
 here
 by
 restricting ourselves
 to
 polygonal domains.
462 
Chapter 10. 
More 
about finite element methods 
•  Efficient  computation of 
the 
various  integrals 
that 
define 
the 
entries in the 
stiffness matrix 
and 
load vector. 
•  Algorithms for assembling 
the 
stiffness matrix 
and 
the load vector. 
We 
will now discuss these issues. 
10.1.1 
Describing 
a triangulation 
Before 
we 
can describe 
data 
structures and algorithms, 
we 
must develop notation 
for 
the 
computational mesh.  First of all, 
we 
will  assume 
that 
the 
domain n on 
which 
the 
BVP 
is 
posed 
is 
a bounded polygonal domain in R2, 
so 
that 
it can be 
triangulated.
75 
Let 
Th 
= {Ti  :  i = 
1,2, 
... 
, 
L} 
be the collection of triangles in the mesh under consideration, 
and 
let 
Nh 
= 
{llj 
:  j  = 
I,2, 
... 
,M} 
be 
the 
set  of nodes  of 
the 
triangles in 
Th. 
(Standard notation in finite  element 
methods labels each mesh with 
h, 
the 
length of the longest side of any triangle in 
the 
mesh.  Similarly, 
the 
space of piecewise linear functions relative 
to 
that 
mesh 
is 
denoted 
Vh, 
and 
an arbitrary element of 
Vh 
as 
Vh. 
We 
will now adopt this standard 
notation.) 
To 
make this discussion as concrete as possible, 
we 
will use as an example a 
regular triangular mesh,  defined on 
the 
unit square, consisting of 32  triangles and 
25 
nodes.  This mesh 
is 
shown in Figure IO.1. 
In 
order to perform 
the 
necessary calculations, 
we 
must know which nodes are 
associated with which triangles.  Of course, each triangle has three nodes; 
we 
need 
to 
know 
the 
indices of these three nodes in 
the 
list 
lll, 
ll2, 
... 
, 
llM. 
We 
define 
the 
mapping e by the property 
that 
the 
nodes of triangle 
Ti 
are 
lle(i,1),lle(i,2),lle(i,3). 
(So e is a function of two variables; 
the 
first must take an integral value from  1 
to 
L, 
and the second one of the integers 
1,2,3.) 
In 
our sample mesh, there are 32 triangles (L = 32), 
and 
they are enumerated 
as in Figure 
10.2. The M  = 
25 
nodes are enumerated as shown in Figure 10.3, which 
explicitly shows 
the 
indices of 
the 
nodes belonging 
to 
each triangle. For example, 
e(IO, 
1) 
== 
6,  e(IO,2) 
== 
7, 
e(1O,3) =  12, 
expressing the fact 
that 
the 
vertices of triangle 
10 
are nodes 
6, 
7, 
and 
12. 
Each of 
the 
standard basis  functions  for 
the 
space of continuous piecewise 
linear functions corresponds to one node in the triangulation.  The basis functions 
751f 
the 
domain 
n has curved boundaries, 
then, 
in 
the 
context 
of 
piecewise linear finite elements, 
the 
boundary 
must 
be 
approximated 
by a  polygonal curve 
made 
up 
of 
edges 
of 
triangles. 
This 
introduces 
an 
additional 
error 
into 
the 
approximation. 
When 
using higher-order finite elements, for 
example, piecewise 
quadratic 
or 
piecewise cubic functions, 
then 
it 
is straightforward 
to 
approximate 
the 
boundary 
by 
a piecewise polynomial curve 
of 
the 
same 
degree as is used for 
the 
finite element 
functions. 
This 
technique is called 
the 
isopammetric 
method, 
and 
it 
leads 
to 
a significant reduction 
in 
the 
error. We will ignore all such questions here 
by 
restricting ourselves 
to 
polygonal domains.