Computersd Sfmcrwes Vol. 48, No. 2. pp. 357-363, 1993
0045-7949/93 26.22 + 0.22 Q 1993perpnoll~Ltd
Printed in Great Britain.
TECHNICALNOTE A GRAPH-THEORETICAL APPROACH TO CONFIGURATION PROCESSING A.
hVEH
Institut fur Allgemeine Mechanik, TU-Wien, Wiedner Hauptstrasse 8-10, A-1040 Vienna, Austria (Received 5 December 1991) Abatra~!-A graph-theoretical approach is presented for configuration processing using simple concepts and definitions from the theory of graphs, which is applicable to discrete and discretixed models.
1. INl’RODUCI’ION
Modem structures are usually characterized by large numbers of members and nodes. For these structures, configuration processing is one of the most tedious and time consuming parts of the analysis. Different methods have been proposed for configuration processing and data generation, among which the formax a&bra developed by Nooshin [I, 21 is perhaps the most general and powerful theory available for this purpose. Behravesh et 01. [3] employed set theory and showed that some concepts of set algebra can be used to build up a general method for describing the inter-connection patterns of structural systems. There are vast amount of techniques available in the field of data generation; however, most of the proposed methods are prepared for specific classes of problems. For example, many algorithms are developed and successfully implemented on mesh and grid generation, a complete review of which may be found in a pager by Thacker [4] and a book by Thomson et al. [5]. In this paper, a graph-theoretical approach is presented for configuration processing which uses similar concepts to set-theoretical and formax algebraic methods, with the difference that it avoids the use of unnecessary terminology, and employs only the most elementary definitions and concepts of the graph theory. Examples are included to illustrate the simplicity of the presented method.
2.
MATHEMATICAL CONFIGURATION
ELEMENTS OF PROCESSING
A graph is defined as a set of nodes and a set of members together with a relation of incidence, which associates two distinct nodes with each member. The mathematical model of a skeletal structure can be considered as a graph S each node and member of which correspond to a joint and element of the structure, respectively. The most important aspect of configuration processing is the efficiency in handling the incidence relation of a model,
Fig. 1. A graph S. which is also known as the inter-connection pattern or algebraic representation of the structure. Different methods may be used for representing the incidence of nodes and members of a structural model; however, the most compact and popular method among structural engineers, is the use of a member list. Such a list contains the two end nodes of each member, which can be collected in a row matrix. As an example, the incidence relation of a graph S, shown in Fig. 1, may be written as (1.2; 1,3; 2,4; 1,4;3.4) or wi, [1,31,[2,41, [1,41,13,41). In this scheme, the members of S are specified sequentially, and common nodal numbers provide the required information about the inter-connections of the members. The above representation does not uniquely specify a graph. As an example the row vector
{WI, WI, 13,419L419 ]L31, [WI) may correspond to different isomorphic graphs shown in Fig. 2. In structural engineering, the structural models should uniquely be represented. Therefore some additional information should be provided. As an example, the coordinates
/&a
pJ
1
Fig. 2. Different graphs with the same representation. CAS4/2-L
357
Technical Note
358 I2 F
4 -t-----I* 2 s’
2
“1.
m2
i
(
oAO*’ Sl
%
3”s
set
Fig. 5. Addition of two subgraphs through common nodes.
ml
/
Fig. 3. A two-dimensional
rectilinear coordinate system.
of the nodes in Euclidean space may be considered. In such a space, however, the geometry of the structure is also introduced. In order to have only the connectivity (topology) of the structure, a weaker formulation should be sought. One way of achieving this goal is to use an integer coordinate system for specifying the inter-connection of the model. Further simplicity can be achieved by employing a rectilinear grid system. Such a system may be one-, two- or three-dimmsional coordinate system, an example of which is shown in Fig. 3. From now on all such systems will be referred to as integer coordinate systems (KSs). An ICS has naturally its grid lines and grid points. A single node of a graph will be shown by a grid point and a member of a graph will be specified by its end nodes. As an example “I = (192)
In order to simplify the notation and the language, no distinction will be made between a graph and its algebraic representation. It is interesting to notice the difference between the above representation and the member list of the subgraph S, S, = {]1,21.]2,41,]4,31,]3.211 which specifies S, up to isomorphism. In fact, the integer coordinates of the node of a graph guarantees the uniqueness of its representation. In the above algebraic representation one can assign a weight with each- node, member and subgraph, as a coefhcient, which may specify the magnitude of the force applied at a node, relative stilfness of a member, or property group number of a substructure. However, the present study is confined to inter-connection patterns of structures, and such factors are not included. 3. OPERATIONS ON GRAPHS Addition
of two subgraphs
Consider a subgraph S, joined to S,, through a member as shown in Fig. 4(a), resulting in &US,. The operation of addition of S, to S, in an ICS, as shown in Fig. 4(b), may be carried out as follows:
represents the node n,, and ml = ](2,1), (4,2)1 represents a member as shown in Fig. 3. This is a directed (oriented) member, and when no orientation is required, an arbitrary order may be used for the end nodes of a member, i.e. m, can also be represented as
S, = {](1,2), (2,1)1, ](2,1), (3,211.](3,2), wi) and S, = {](1,2), (2,311,](2,3), (3,211,](3,2), wm.
m, = ~4.2)~WI. In general, it is usual to use the first quadrant of an ICS, however, if for some reasons the complete ICS is needed, then the integers involved will have both positive and negative values. As an example m2 of Fig. 3 can be written as
The algebraic representation of S,uS, is obtained by deleting the repeated member [(3,2), (1,2)] corresponding to the intersection S,nS,, i.e.
&us, = {NW, (2,1)1,[(U), (WI,
m2 = K- 1.1). UJN A subgraph or a graph can be represented in an ICS by specifying its members, and the integer coordinate of its nodes. For example the subgraph S, of Fig. 3 can be represented as S, = {](2,2), (3,3)1,](3,3), (3,4)1,1(3,4), t2,3)1, ~(2~3)~ (3,3)1].
Naturally this operation requires some extra search for identification and deletion of common members, which can be avoided if the addition is made the common nodes only. The operation of addition for the example of Fig. 4 is illustrated in Fig. 5.
Fig. 4. Addition of two subgraphs.
359
Technical Note
SP
St-S2
+-----+I1
Fig. 6. Subtraction of two subgraphs. The algebraic representation of &US, will be denoted by S,&S,, and for a series of additions as
graph of Fig. 7 can be represented as s, = ((1.1X t2,1),(3,1),(1.2),(2,2),
S,uS,uS,u* the corresponding
*WSt = io, Si
algebraic representation
(3-2). (1.3), (2,3), (3,3)3. is shown by
Subtraction of two subgraphs
Consider a subgraph S, as shown in Fig. 6(a) from which S, is subtracted. S, contains one internal node n and four common nodes. S, may be considered as the union of the stars of the internal nodes of S, . Therefore for subtraction of S, from S, one can simply delete the members of the internal nodes of S, . For the representation shown in Fig. 6(b) one can write s, = {I(l,l), K1,3),
w11, W).
(5*3lI. 1(5,3), (1,311,
WI, WX (WI,
KV), (3,211,[(5,3), (X2)1, [(1,3), (3,2)1] and s, = {I(l,l), CWI, Km, (X81, [(5,3), (3,211, KL3k(32111 The algebraic representation
of S, - S, is obtained as
s, - s, = {[(l‘l). W)], I(W),
(5,3)1,
Cut-outs frequently occur in structures. In order to keep the regularity, sometimes it is advantageous to generate the entire structure and then delete certain parts. This can be achieved by substraction of the stars of the internal nodes of the cut-out. 4. SPECIAL GRAPHS
A null graph consists of a set of isolated nodes and contains no member. Such a graph is denoted by SOand can easily be represented by its nodes. As an example, the null
t
1.
.
.
.
.
.
.
Fig. 7. A null graph S,,.
A null graph, or the null graph Se of a graph S, (O-skeleton), plays important roles in structural analysis. As an example, the null graph of a part of a structure may represent the boundary nodes or may specify those nodes at which the loads are applied. A complete graph is a graph in which all the nodes are wnnected to each other by distinct members. Such a graph can conveniently be represented by its null graph, with a function specifying the graph being complete. Therefore a function as CGM (S,) will suEce for the formation of a complete graph S, on k nodes. 5. SIMPLE FUNCTIONS FOR CONFIGURATION PROCESSING
Many practical structures have regular and repeated patterns, which enable their generation using some simpk functions. As an example, the graph S illustratai in Fig. 8 can be generated by translating a subgraph S,, shown in bold lines, in I, direction, i.e. if the coordinates of the nodes of S, are increased each by two units, the adjacentsubgraph S, will be obtained. Similar operation on S, results in Ss. Continuing this process, the entire structural model is generated. An operation by means of which S, is obtained from S, can be shown as S, = #I&, where #J can be considered as a mapping of Si onto S,, or it may be taken as a function which defines the relationship between the connectivity of S, and S,. The following properties are assumed to hold for this mapping: I. Identity function which maps Si onto itself is denoted by Cp”,i.e. Si= &OISi. 2. If S,= 4(S,, then Si= &‘lSj, i.e. the inverse of the function 4 exists. 3. Repeated application of d, on S, is denoted by d’l.9, which means # has been applied I times. 4. Composition of functions &” and I$” is equivalent to brn+*.
Fig. 8. Generation of a graph by pure translation.
Technical Note
360
generates all the members except the upper and right-hand side boundary members. These members can be formulated as
‘2 b
S, = TRINS(l,7)
i TRANS(2,2j) j-0
S,$TRANS(Z, and S = S&S, 01
I
2
a
4
s
s
7
-1,
,
Fig. 9. A rectangular grid S. In the following, various functions are being introduced which can be incorporated in the formation of most of the structures encountered in practice. These are in main similar to those of Nooshin [2], expressed in graph-theoretical MlIlS.
6) i TRANS(1, i) S, i-0
generates the entire model S.
5.2. Rotation functions This function rotates a subgraph with respect to an specified node, and can be stated as follows. Let (Z, , Zr, Z,) be a typical node of Sand (I;, Z;, I;) shows the integer coordinate of a node in Sj. The rotation function ROT(h,,&q,rqr) maps the nodes of S, onto those of Sj such that for each node Z;, = q2 + q, - I,,
for i = h,
5.1. Translation functions A translation function operating on S, to produce Sj is defined as
and Zg = q2 - q, + Z,, for i = h,
S, = 4]S, = TRANS(h, q)IS,,
Z; = Zi for the remaining value of i.
in which h = 1,2 and 3 depending on translation taking place along I,, Zr and Z,, respectively. q is the number of integer units to be added to each coordinates of the algebraic representation of S, in h direction. This function has the following properties:
Obviously q, and q2 should be such that their sum and difference become integer numbers, unless an even power of the function is used. As an example, the graph model of a planar truss, shown in Fig. 10, is formulated as follows. Let S, and S, be considered as generating units, where
1. TRANS(h,,q,)ITRANS(L,,q,)lSi=TRANS(~,,q31 _.. TRANS(L,, q,)IS,, i.e. these functions are commutative. 2. TRANS(h.a)-‘IS.=TRANS(Zr. --P)lS.. \,*, . . 3. TRANS(h, q,)lTRANS(h, q2)iii = ytiNS(h, q, + 42)ISi. Similarly TRANS(L, qr ]S, = TRANS(L, kq) )S, As an example, the generation of a simple rectangular grid, shown in Fig. 9, is formulated. Different subgraphs (generating units) of a graph can be used for its formation. Naturally at this stage one should choose the smallest unit for which the translation functions can also be written with ease. For the first formulation the following two subgraphs are considered S, = {[(Ll), (L3)1} and
Sr = {W),
(2J)l).
(WI} and S2= W%
S, = {W),
(3,6)lj.
Using rotation functions, subgraphs S, and S, (shown in Fig. 10) can be formulated as S, = i ROT(l,2,2,4)‘(ROT(l, r=O
2, 1,3)]S,
and
Now the entire model S can be represented as S = i ROT(l,2,8,5)i i=il
i
ROT(l,2,6,3)i
j=O
The vertical members can now be generated as RO
S, = i TRANS(2,2j) j=O
i
j=O
5/2)IS,@
i=o
and horizontal members can be formed as S, = i TRANS(2,2j)
2, 1,3/Z
TRANS(1, i) S,
i ROT( 1,2, k + l/2,8)‘& r=O >
2 TRANS(1, i) S, ,=ll
and
As an alternative formulation, one may consider S,uS, =S, as the generating unit, i.e. S, = {[(l,l), (1,3)1, [(IJ), (2,1)1}. Then II
S, = t TRANS(2,2j) j-0
i ,=o
TRANS(1, i) S,
0
@I
1:.
2
.o
.lo,*
*If
Fig. 10. A planar truss generated by pure rotation.
Technical Note
361
and t; = I, for the remaining values of i = 1,2 and 3. If the nodes of S, are wanted to be on grid points, then q should be integer. For a projection function S, = PROJ(h, q)ISi, S, is obtained from Si by projecting Si onto a plane that is perpendicular to &-axis and intersects the plane at a point with Ih = q. As an example, projections of S, , S, and S, are illustrated in Fig. 12. Let
Fig. 11. A graph generated by pure reflection. then 5.3. Reflection functions
s, = PROJ(L4)lS, = {K4,1), (4,2)1)
This function reflects a given subgraph Si and finds Sj.
Similar to the previous functions, a reflection function
and for s, = {1(2,3),(3,3)1,1(3,3), (2,4)1,1(2,4), (2,3)11
REF(h 4) maps the nodes of S, onto those of Sj by the following rules
we have
I; = 2q - I, S, = PROJ(2,l) ]S,
and
= {1(2,1),(3,1)1, N3Jh cwl,
If = Ii for the remaining values of i from i = 1,2,3. Obviously 2q should be integer if the new coordinates are supposed to be integers. Reflection functions have the following properties: 1. For
h, Zh,,
RRF(h,,q,)iREF(h,,q,)lS,=REF
(~~,~~)IREF(~I,~,)IS,.
2. REF(h, q)-‘ISi = REF(h, q))& and REF(h, q)% +’ ]Si = REF(h, q)l S,.
REF(h, q)ztlS, = S,
For a reflection function Sj = REF(h, q)IS,, S, is the mirror image of Si with respect to a plane which is normal to the &-axis and intemects it at a point with IA= q. As an example, the graph shown in Fig. 11 can be formulated using a single member as follows. Take
Ku),
(w1j.
It should be noted that the functions available are by no means limited to the four types introduced in this section. One can define functions which are more appropriate for a particular application and formulate in a similar manner. Many of these functions are introduced in Nooshin [2]. Compact algebraic representation is one of the aims of the method presented in this paper. For this purpose it may be necessary to use a combination of functions which are represented or can be defined. However, optimal representation of an arbitrary configuration, in the sense of compactness and simplicity is an open question.
6. GEOMETRY OF STRUCTURES
The algebraic representation described in the previous sections provides not only the topology of a structure, but also enables us to obtain other properties of the structure. As an example, the geometrical properties of structures can easily be obtained from the generated configurations using simple transformations. All what is needed is to establish a relation between the ICS and the coordinate system selected for geometrical representation of the structure. This coordinate system can be an orthogonal Cartesian coordinate, a polar, a cylindrical or any other curvilinear coordinate system. As an example, consider a grid model as shown in Fig. 13. Let x and y be the geometric coordinates of a typical joint of the grid S, with respect to a selected two-dimensional
as a generating subgraph. Then
5.4. Projection functions A projection function PROJ(h,
411Si
is a mapping of S, onto Sj such that I:, = q
IBA
*IA I-
4.
a-
::
n*a
I-
a -
xlciqISa I
0
¶-
I
lBS4B
Fig. 12. Different projections of subgraphs.
1
*I,
I
1
I
I
I
*
*
1
O,B,4BB7@ Fig. 13. A plane grid S.
)
I,
362
Technical Note
Fig. 14. Geometrical properties of S in a Cartesian coordinate system.
Cartesian ~sfo~tion
coordinate
system.
x=31,
and
Consider
the
following
y=2I,.
Then the geometry of S can be obtained as shown in Fig. 14. Now consider the same graph and use a polar coordinate system with the following ~ansfo~ation
Fig. 16. S mapped into a cylindrical coordinate system.
I** r=I,+l
and
t?=(I,-1);
S becomes a conSguration as shown in Fig. 1.5. The same model can be mapped into a ~irne~~onal cylindrical coordinate system with the following simple transformations r=20,
e=12-if3
The resulting caption
and
z=3I,.
bII
is shown in Fig. 16.
Fig. 17. A hypergraph model of a continuum problem.
7. JXXTFNSIONTO FINlTR ELEMENT MODELS The mathematical model for skeletal structures have been chosen as simple graphs. However, there are other types of structures such as ~ntinu~ problems for which d&retired models have more than two nodes per element. These models can be considered as hypargraphs [I. A hypergraph consists of a set of nodes and a set of members together with a relation of incidence which associates some nodes for each member. When only two nodes are associated with each member, then a hypergraph becomes a graph. The methods presented thus far stay valid for hypergraphs. As an example, a finite element model consisting of triangular elements can be generated using translation functions as follows. A typical e:lement m, is represented as m, = {W),
The addition of these elements is obtained as s, = WlWz = f[(l,l), (2,1), WN,I(L~h cm, W)l). Using the translation functions of Sec. 5.1, the entire finite element model can be formulated as 6 I 1 I S = c TRANS(2,j) c TRANS(1, i) S,. j=O
1-O
I
Therefore, mesh generation may be considered as a special care of the configuration processing discussed in this paper.
G&l), w111. 8. CONCLUDlNG RRMARICR
Similarly mz = @tl.l), (2% (1,2)1f.
0 oiorrsr
Fig. 15. A grid mapped into a polar coordinate system.
In this paper it is shown that simple definitions and concepts from theory of graphs su&es for a complete formuhttion of the unction prooessing, and there is no need for new terminology to be introduced. Most of the concepts of the formax algebra can be deS.ned in graphtheoretical terms with a substantial simplification in its understanding and applications. The functions presented in this paper can easily be programmed and employed in data generation of structures as well as other discrete or discretixed systems. For particular applications other suitable functions can similarly be formulated and used. Finally it should be noted that the connectivity coordinate system dellned by Kaveh [6], can easily be incorporated in the methods of this paper, to obtain a favourabk numbering for the nodes of a structure as well as generating its configuration.
Technical Note REFERENCES
1. A. Nooshin, Alpbraic representation and processing of structural confiauration. Comet. Struct. 5. 119-130 z (1975). 2. A. Nooshin, Fortnax Configuration Processing in Structural ggineering. ElseGei, London (1984). 3. A. Behraveah. A. Kaveh. M. Nani and S. !&bet. A set of theoretical approach .for configuration pro&sing. Comput. Strucr. 30, 1293-1302 (1988). 4. W. C. Thacker, A brief review of techniques
363
for generating irregular computational grids. 1n1. J. Numer. Merh. Engng I!!, 1335-1341 (1980). 5. J. F. Thomson. Z. U. A. Warsi and C. W. Hastin. Numerical Giid Generation, Foundations mrd Applications. Elsevkr, Amsterdam (1985). 6. A.-Kaveh, A connectivity coordinate system for node and element orderina._ Comet. _ Struct. 41, 1217-1223 (1991). 7. C. Berge, Graphs and Hypergraphs. North-Holland (1976).