0% found this document useful (0 votes)
78 views13 pages

Bandwidth Minimization Algorithm For Finite Element Mesh

This document summarizes a research paper on improving an algorithm for minimizing bandwidth in finite element mesh renumbering. The summary is: 1) Existing renumbering algorithms do not fully utilize characteristics of finite element meshes, such as boundaries and systematic mesh patterns. 2) The paper introduces these characteristics into an existing algorithm from Taniguchi and Shiraishi to minimize bandwidth. 3) Numerical experiments show the improved algorithm reduces execution time by half while maintaining bandwidth reduction, making it one of the fastest algorithms.

Uploaded by

Syed Mustafa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
78 views13 pages

Bandwidth Minimization Algorithm For Finite Element Mesh

This document summarizes a research paper on improving an algorithm for minimizing bandwidth in finite element mesh renumbering. The summary is: 1) Existing renumbering algorithms do not fully utilize characteristics of finite element meshes, such as boundaries and systematic mesh patterns. 2) The paper introduces these characteristics into an existing algorithm from Taniguchi and Shiraishi to minimize bandwidth. 3) Numerical experiments show the improved algorithm reduces execution time by half while maintaining bandwidth reduction, making it one of the fastest algorithms.

Uploaded by

Syed Mustafa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Memoirs of the School of Engineering, Okayama University, Vol. 16, No.

1, November 1981

Bandwidth Minimization Algorithm for


Finite Element Mesh

Takeo TANIGUCHI*

(Received September 18,1981)

Synopsis

Renumbering algorithms commonly in use for the band


solver are generally applicable for any kind of linear
equations, and, therefore, we may say that they cann't
effectively utilize the characteristics of the finite
element mesh. In this paper we investigate the
characteristics of the finite element mesh systems, and
introduce them into Taniguchi-Shiraishi Algorithm which
already introduced some properties of FEM mesh systems.
And through several numerical experiments it is proved
that this improved algorithm is one of the fastest one.

1. Introduction

By the application of Finite Element Method we oftenly encounter


to solve a large sparse set of linear equations

A x =b (1 )

, and as its solver Band Matrix Method is most commonly used. But,
since the efficiency of the solver (i.e. the execution time and memory)
wholly depends on how we can decrease the half bandwidth of A in eq.(l),
a number of renumbering algorithms have been proposed in the last
decade[1,2,3,4]. But, we may say that all of them are proposed for
general purpose but not only for the finite element models.
On the other hand, the conditions required for the renumbering
algorithm are 1). less execution time and 2). better result. Then, it
is hopeful that the introduction of the characteristics of the finite
* Department of Civil Engineering
147
148 Takeo TANIGUCHI

element mesh systems may improve above two conditions, even if the new
algorithm can be applied only for the finite element mesh.
For the general purpose renumbering algorithms only the connect-
ivity relationship between vertices in a graph obtained from A matrix
is used, and, then, for the finite element mesh what kind of addition-
al informations are allowed to use? Since FEM is applied only for
the problem with boundaries and the vertices on the boundaries are
placed by the analyst, himself, they are easily distinguished from the
residuals. That is, the matter that the vertices in the graph may be
divided into two groups is the first information. Second information
is that the finite element mesh system is rather systematic and simple
comparing to the graph obtained from general linear equations, because
the mesh patterns used in FEM have the restrictions of numerical and
discretization errors.
Among these two additional informations the first one is already
introduced in the renumbering method by Taniguchi and Shiraishi[Sl,
and they proposed a quite different starategy for minimizing the band-
width. Then, in this paper the second information is introduced in
their algorithm and its improvement is tried. The result of this
improvement is that the execution time decreases to about one half of
original one and that the obtained half bandwidth is as good as the
original one gives.

2. Taniguchi-Shiraishi Algorithm

The half bandwidth, HBW, of A matrix in eq.(l) is expressed as

n
HBW max (j - i) (2)
i=l

, where j is the column number of the last non-zero element in the i-


th row. If we use a graph obtained from A matrix, then

HBW = max ! j - i (3 )
v. E adj. v.
J 1

, where v. and v. are vertices labeled "i" and "j", respectively, and
1 J
the relation of v. E adj. v. indicates that v. is a member of vertices
J 1 J
adjacent to vi'
In order to minimize HBW, row and column permutations are neccessary
for eq.(2), and vertex-renumbering for eq.(3). That is, the minimi-
zation requires numerous repetitions of above procedures.
Bandwidth Minimization Algorithm for Finite Element Mesh 149

But, according to [6], the minimum value of HBW is decided by one of


the characteristics of the graph, itself.
Here, we define a term called "Level Structure" for the explanation
of the property which determines min. HBW [4]. A level structure of
a graph G(X,E) is a partition

(4)

of the node set X such that


adj. (L i ) C L i - l U Li+l' o < i < £ ( 5)

( 6)

The number £ is called the length of the level structure, and the
width w(L) of the level structure is defined by

w = max {I L.1 I IL.1 E L} ( 7)

Then,

HBW ex W ( 8)

That is, since the width of the level structure determines the half
bandwidth, how to minimize the width is almost equivalent to the
minimization of HBW.
Cuthill-McKee algorithm which is the most popular method is as
following: At first, select vertices which satisfy a condition required
by the user, and construct as many level structures from each selected
vertex as the number of selected vertices, and choose one level
structure which gives the smallest width among them.
On the other hand, well-known Gibbs-Poole-Stockmeyer algorithm is
as following: At first, find out two vertices which locate at both ends
of the longitudinal axis of the graph, and construct two level structures
from them, and reconstruct only one level structure by using them as
its width is minimized.
Let's consider above two methods on a finite element model of a
two-dimensional continuum like a plate. Since the condition of the
starting vertex in Cuthill-McKee algorithm intends to find out appro-
priate vertices on the boundary, we may say that C-M Algorithm,too,
constru8ts level structures from end of graph as G-P-S algorithm'does.
But, successive construction of L i from L - or L + oftenly enlarges
i l i l
the width of the obtained level structure. Therefore, G-P-S algorithm
has the step to reconstruct level structure. Anyhow, both of them
aim to find out the width of the graph by successive construction of
level structure from the end of the longitudinal axis of the graph.
150 Takeo TANIGUCHI

since it is evident from eq.(8) that the half bandwidth is deter-


mined by the width, we may directly search the width if possible.
Assume the level structure of a finite element graph obtained as

L {L O' L l , L 2 , ... , LR,L

Then, most of L in L include, at least, two boundary vertices which


i
are vertices located on the boundary. Therefore, from the definition
of the width,. the width of the level structure ~_ncludes the maximum
number of vertices among which, at least, two are the boundary vertices.
Let g(O) be the boundary vertices, and let's construct the level
structure from g(O) as following;

g = {g(O), g(l), g(2), , g (r), g (r+1) =IO} ( 9)

From a vertex in g(r) ,namely u ' we reconstruct new level structure


l
g '= {g' (0) =u l' 9' ( 1), g' (2), ... , g' (r I ) } (10)

, where g' (r') is the first set of vertices which includes more than
two boundary vertices, namely u and u • Then, the shortest path
2 3
connecting u 2 ' u and u in this ordering may locates at the widest
l 3
portion of the graph, that is, it may coincide the width of the level
structure which governs the minimum half bandwidth.
Above idea for searching the
width of a level structure is direct- L(1 )
gil) g(o) Let L(2)
ly introduced in the renumbering
method by Taniguchi and Shiraishi 'I"~ ""~""'
as following. As the input data
we prepare not only the connect-
~~ Step 1 Step 8
ivity between vertices but also t
5+1 s+r+l
additional data, that is, the number
of boundary vertices g(O) which are
numerically ordered clockwisely
from an arbitrarily selected vertex SH
Step 2 Step 9-Step 10
, labeled "1", and the imaginary
+8 •
connectivity for vertices in other
boundaries.
in Fig.1.

ALGORITHM

Step 1.
This algorithm is

Construct a level struc-


cD·au u 3 Bq
Step 3 - Step 5
5 s+r

Step 12 -13

ture from g(O) as shown


Fig.l Taniguchi-Shiraishi Algorithm
in eq. (9) .
Bandwidth ,Minimization Algorithm for Finite Element Mesh 151

Step 2. Reconstruct a level structure from u which is selected


l
among the vertices in g(r).
Step 3. Divide all boundary vertices in g' (r') into connected sub-
graphs,si' where i > 1, in general.
Step 4. Search two connected subgraphs, namely Sand S , for which
p q
!b-b ' ! has the maximum value, where band b ' are the number
of a vertex belonging to Sand S , respectively.
p q
Step 5. Select middle vertices, namely u 2 and u ' from Sp and Sq'
3
respectively.
Step 6. Search the shortest path connecting u and u through u .
2 3 l
We call this shortest path Lc.
Step 7. Remove all imaginary connectivity for boundaries.
Step 8. For both sides of Lc, construct level structures from LCi
{L' (n '), L' (n I -1), '" , L' (1), Lc, L (1), L (2), ... , L (m ') }
Step 9. Renumbering for vertices in Lc.
Step 10 and 11. Renumbering for all vertices in one side of Lc.
Step 12 and 13. Renumbering for residual vertices.

This algorithm has following merits comparing to other algorithms:


1). This method doesn't require the process to find out the starting
vertex which should locate on one end of the longitudinal axis of the
graph. 2). The portion of the graph which decides the half bandwidth
is, at first, searched in this algorithm, though others search it in-
directly by the construction of level structure from a starting vertex.

3. Improvement of Taniguchi-Shiraishi Algorithm

3-1. On Searching Level Structure

As obvious from the algorithm given in the previous section, it


mainly consists of the procedure of constructing level structure.
Therefore, if the procedure to get level structure is improved, then
it is expected that the execution-time is largely saved. For this
improvement, we introduce the characteristics of the finite element
mesh system mentioned in Section 1.
Typical finite element mesh system of 2-dimensional continuous
media consists of 1) triangular or 2) square configuration element.
Assume that the successive i levels are already obtained from L O
(see Fig.2 and 3), and we aim to search the next level, namely L + l .
i
In T-S algorithm, all members for L + are found out by using the
i l
152 Takeo TANIGUCHI

connectivity relations of each vertex in L . But, in the case of Fig.


i
2, all vertices in L + may be found out by using about a half of the
i l
number of vertices in L. which are denoted by o. Therefore, for get-
1
ting the level structure we require only the connectivity of ~LILil
vertices though the original method requires LIL.
1
I vertices. If the
mesh system consists of only square element as shown in Fig.3, this
new method requires only about one third of the original method.
Above two examples are the discussion for regular finite element
systems, but the FE mesh system we encounter is generally irregular.
Therefore, we have to consider the procedure of constructing the level
structure for general triangular and also quadrilateral finite element
mesh system, but we treat only the former case in this paper.
Assume that successive i levels of the level structure are already
obtained. Therefore, we find all the member for L + from L .
i l i
From the example of regular triangular mesh system, it is obvious
that every second vertex in L are, at least, neccessary for searching
i
all member of L + . Hereafter, we call this procedure as ESVS (the
i l
abbrebiation of ~very Second Vertex ~earching Method) . Since this
procedure is invalid for irregular mesh system, we modify it so as to
search all member of L i + l .
Assume that u & L i and v ~ L + , then v ~ adj.u from the definition
i l
of the level structure. If ESVS is applied for L., any vertex in L.,
1 1
namely u , is 1) used for searching L + or 2) not used for it. In
a i l
the former case, all vertices in L + which are adjacent to u can be
i l a
surely searched. Therefore, we may investigate only for the latter
case.

Fig.2 Triangular Finite Element Mesh

~~---n::..-_-*--_----.:*---~:r----?lE-
L.
1

~l--~----JI-----3"-----:.---.---~ L i +1
Fig.3 Quadrilateral Finite Element Mesh
Bandwidth Minimization Algorithm for Finite Element Mesh 153

Since the mesh system consists of only triangle elements, then


at least two vertices, namely w's, which are adjacent to u and v
a S
must exist and they must locate in L. and/or L. . If u is the
1 1+ l a
boundary vertex, then there must be only one w. Therefore, we have
to consider following two cases. (See Fig.4)
1). w E L.
1
2). wcL +
i l
Case 1) If w=u _ or u + ' then w
a l a l u
V is surely searched from w. If a
s
w is u a _ 2 or u a + 2 ' then u _ has no
a l
connection with L.1+ l' For this
case it is obvious that these Case 1
vertices should not be counted for
searching every second vertex in Li. u
a
Case 2) The simplest case of this
type is illustrated in Fig.4,too.
v - l and v + l may be searched from Case 2
S S
u a _ l or u a + l ' but V is not searched
s
as far as u is not used. From
a
this example we may conclude that Fig.4 Two Cases
if the number of vertices not yet
ordered in L + and adjacent to u in L is larger than two, we have
i l a i
to use the vertex, namely u a ' for searching L + .
i l
Let's call the number of residual vertices from u as R-deg.u .
a a
Then, above considerations are summarized as followings:
1. The vertex in L. whose R-deg = 0 may not only be used for search-
1
ing L + but also not be counted for ESVS.
i l
2. The vertex in L. whose R-deg ~ 2 must be selected for ESVS.
1
The treatment of a vertex in L. whose R-deg = 1 is not yet
1
discussed. But, as far as we take ESVS procedure, whether this type
of vertices are selected for ESVS wholly depends on whether its number
is odd or even. Are all vertices for L + 1 surely searched by above
i
procedure? From above considerations;
1).must be connected to only one vertex, namely u ' in L ,
V
s a i
2). therefore, u must have more than three connectivities between
a
vertices in L + , and
i l
3). all vertices except V must be searched before vs' and, there-
s
fore, R-deg of u = 1.
a
Fig.S illustrates graph~satisfying above three conditions. Then,
we conclude that some vertices for L + may not be searched by above
i l
procedure based on ESVS.
154 Takeo TANIGUCHI

In order to find out V subject-


s
ing above conditions, it is obvious
that the strategy of ESVS must be
modified.
Let's denote the number of
vertices in L. and L. 1 which is
1 1+
adjacent to u by Deg.u. Then,
a a
the vertex v mentioned above is Case 1
adjacent to u which satisf~es
a
Deg.u ~ 5 and R-deg.u = 1.
a a
Above discussions about the
midification of ESVS result in as
followings:
1). ESVS may be used as the main
strategy for setting level
structure. Case 2
2). The vertices {u} of R-deg.u
=0 should not be counted for Fig.5 Exceptional Cases
ESVS.
3). The vertices {u} of R-deg.uj 2 must be additionally included in
ESVS.
4). The vertices {u} satisfying Deg.u) 5 and R-deg.u 1 must be
additionally included in ESVS.
From these results we can propose new algorithm for setting level
structure as following. Note that this algorithm is applicable 'only
for the triangular finite element mesh system.
Here, we consider the stage of finding L i + l = {v ' v ' ... , v k .
l 2
... , vS} from Li = {u ' u 2 ' ••• , u ' ... , uaL Then, this algorithm
l j
is repeated untill all vertices ( or neccessary vertices ) in a graph
are searched. We set X=2 and Y=5 for triangular mesh system. '

New Algorithm for Constructing Level Structure

Step l. j=l. Find out {vi v E adj. u }.


j
Step 2. c=O.
Step 3. j=j+l. I f j=a, find out {v Iv G adj. u.} and go to Step 10.
J
Otherwise, go to Step 4.
Step 4. Calculate Deg.u and R-deg.u j .
j
Step 5. I f R-deg. u =0, go to Step 3. Otherwise, go to Step 6.
j
Step 6. c=c+l. I f c=X, find out {v v E: adj.u.} and go to Step 2.
J
Otherwise, go to Step 7.
· Bandwidth Minimization Algorithm for Finite Element Mesh 155

Step 7. If R-deg.u. ~X, find out {v


]
Iv E:- adj.u.} and go to Step 2.
]
Otherwise, go to Step 8.
Step 8. If Deg. u j ~ Y, go to Step 9. Otherwise, go to· Step 3.
Step 9. Find out {v I v E adj.u.} and go to ~tep 2.
]
Step 10. L + is obtained.
i l

3-2 Improvement of Residual Steps of the Original Algorithm

u l is arbitrarily selected in Step 2, but it should be selected


among vertices with maximum degree, because the excentricity of the
location of Lc should be excluded.
The procedure to get u and u inStep 4 and 5 is complicated,
2 3
and it requires a lot of judgement if there exist a lot of subgraphs.
We replace it by the comparison between middle vertices of every two
subgraphs.
Now, we should discuss on the input-data for interior boundary
vertices. It is obvious that the location of interior boundary
prevents the construction of level structure in Step 1 and 2. Thus,
imaginary connectivity relations are given for vertices in each
interior boundary. If there exist 0 interior boundaries and each
o
contains E vertices, then at least E[E. (E.+l)/2] imaginary connections
1 1
must be added to the actual connectivity relations. We replace it by
following procedure. For each interior boundary, give an imaginary
vertex which is connected to ~ll vertices in the boundary, because
this procedure requires only E2E additional input data.
i
The steps from 8 to 13 are replaced by following procedure.
After the setting of Lc all member in Lc are renumbered from "1", and
all vertices in one side of Lc are successively renumbered as each
level is obtained. After the last level of the side is obtained,
the numbering is reversed, and successive renumbering is proceeded
for the other side.

4. New Renumbering Algorithm

The input data are 1). the number of vertices N, 2). the number
of outer boundary vertices NLE, 3) the interior boundary vertices,
and 4) . the connectivity relations between all vertices. Furthermore,
we give imaginary vertex for each interior boundary and also give
the imaginary connectivity between the imaginary vertex and all vertices
on the boundary.
156 Takeo TANIGUCHI

Algorithm

Step 1. Construct level structure from the outer boundary.


Step 2. Search a vertex in the last level which has the maximum degree
among them, and denote it u .
l
Step 3. Construct level structure from u till the boundary vertices
l
are included for the first time.
Step 4. Divide all boundary vertices in the last level into connected
subgraphs. If there exists only one subgraph, obtain one
more level.
Step 5. Search the middle vertex for each subgraph, and we obtain
a set of middle vertices {b.}.
J
Step 6. Find out two vertices, namely band b , which minimize
x y
Ix-yl-NLE/21, and denote them u and u ' 'respectively.
2 3
Step 7. Search the shortest path, Lc, connecting u
z,
u and u ' and
l 3
give labels for them from "1".
Step 8. Search the first level set for one side of Lc, and give them
the successive labels. Repeat the level setting and labeling
procedure till all vertices on one side of the graph are
labeled.
Step 9. Give the reverse renumbering to all vertices in the levels
obtained above.
Step 10. Above two steps are repeated for the residuals of the graph,
and the renumbering is completed.

Note that the new algorithm for constructing level structure


given in Section 3-1 is used in Step 1, 3, 8, 9 and 10 of above
algorithm.
For the evaluation of this algorithm, the author compared its
results with those by Cuthill-McKee algorithm which is most commonly
in use. This algorithm requires the starting vertex which satisfies
following relation on the degree,D,

D < D. + ~ D (11)
" m~n m max

, where D. and 0
are the minimum and the maximum degrees in the
m~n max
graph, respectively, and "n" and "m" are the two parameters which
the user can determine. For our numerical experiments we take
1) .n=O, and 2). n=l and m=2, and they are called Method 1 and Method 2
, respectively. Among them, Method 1 is the fastest case for Cuthill
-McKee algorithm, because the starting vertex must satisfy the minimum
degree. Furthermore, the author modified Cuthill-McKee algorithm by
adding the procedure of finding the starting vertex which is proposed
Bandwidth Minimization Algorithm for Finite Element Mesh 157

in Ref.[3]. We call this modified method as Method 3.


As the test examples r.hree graphs presenting finite element mesh
are selected, and the results are summarized in Table 1. And, the
obtained renumbering results are shown in Fig's 6, 7 and 8.
From these numerical experiments following results are obtained:
1). The execution time required by the new algorithm is almost a
linear function of the number of vertices, and it requires
only as long execution time as Method 3 requires.
2). The half bandwidth obtained by the new algorithm is the minimum
or near minimum value among them.
Since Method 3 is a modified method of Cuthill-McKee algorithm in order
to avoid the repetition of setting level structures, it may be thought
as one of the fastest algorithms. Therefore, this new algorithm
proposed in this paper is also one of them.

New Method Method Method


Algorithm 1 2 3
HBW 9 9 10 10
Ex.1 T(sec) 0.020 0.008
0.011 0.350
HBW 12 13 18 16
Ex.2 0.025
T(sec) 0.024 3.709 0.030
HBW 22 21 24 25
Ex.3 0.060
T(sec) 0.050 44.832 0.180

Table 1. Comparison of Results

Fig.6 Example 1
(42 vertices)

12
158 Takeo TANIGUCHI

Fig.7 Example 2 (99 Vertices)

Fig.8 Example 3 (l93 Vertices)


Bandwidth Minimization Algorithm for Finite Element Mesh 159

5. Concluding Remarks

From the numerical experiments of the new renumbering algorithm


in Section 4 it becomes obvious that the execution time depends almost
on how long execution time the procedure of setting level structure
requires. Therefore, it is expected that for quadrilateral finite
element mesh system we can design a new renumbering algorithm by
modifying Taniguchi-Shiraishi algorithm which requires about one third
of the execution time by original one. But, since the idea presented
in this paper is invalid for the system like 5-point difference method,
more saving of the execution time for it is impossible.

Acknowledgement

The author thanks Dr. J.K. Reid of A.E.R.E., Harwell, England,


for the suggestion of the idea of how to obtain level structures.
The assistance of Mr. T. Kimoto is also gratefully acknowledged.

References

[1]. E.Cuthill & J.McKee,"Reducing the Bandwidth of Sparse Symmetric


Matrices", Proc. of ACM National Conference, (1969), 157-172
[2]. E.Cuthill,"Several Strategies for Reducing the Bandwidth of
Matrices", Sparse Matrices and Their Applications (ed. by D.J.Rose
&R.A.Willoughby), (1972), 157-166
[3]. N.E.Gibbs, W.G.Poole & P.K.Stockmeyer,"An Algorithm for Reducing
the Bandwidth and Profile of a Sparse Matrix", SIAM J. Numer.
Anal., 13 (1976), 236-250
[4]. J.A.George,"Solution of Linear Systems of Equations: Direct
Methods for Finite Element Problems", Lecture Notes in Mathemetics
572 (ed.by V.A.Baker) (1976), 53-:-101
[5]. T.Taniguchi & N.Shiraishi,"New Renumbering Algorithm for Minimiz-
ing the Bandwidth of Sparse Matrices", Advances in Eng. Software,
2 (4) (1980), 173-179
[6]. I.konishi, N.Shiraishi & T.Taniguchi,"Reducing the Ba~dwidth of
Structural Stiffness Matrices", J. Struct. Mech. 4 (2) (1976),
197-226

You might also like