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.