The Basics of Combinatorial Topology for Block System Representation

The Basics of Combinatorial Topology for Block System Representation

179 6 THE BASICS OF COMBINATORIAL TOPOLOGY FOR BLOCK SYSTEM REPRESENTATION The mathematical representation of a block system formed by a network of...

551KB Sizes 10 Downloads 65 Views

179

6

THE BASICS OF COMBINATORIAL TOPOLOGY FOR BLOCK SYSTEM REPRESENTATION

The mathematical representation of a block system formed by a network of fractures is the first task for a DEM method. It requires definition of the geometry of blocks, both individually and collectively, and they can be quite complex for three-dimensional problems. From the DEM and solid geometry modeling literature, there exist basically three methods for block system generation: constructive solid geometry (CSG), successive space division (SSD) and boundary representation (BR). In the CSG method, the primary solid elements of simple geometry (cubes, balls, etc.) are used as the basic components that are combined by topological transformation and identification processes to form more complex solid forms (Ma¨ntyla¨, 1988). It is widely used in computer graphics, solid geometry modeling and robotics research. The creation of particle assemblages for the simulation of granular materials is achieved mostly by the CSG method, using circular, elliptical, spherical or ellipsoidal forms of various sizes (Cundall and Strack, 1979). The SSD approach, successive space division, depends on a successive division process of predefined master blocks by newly introduced fractures of infinitely large sizes. The master blocks, usually regular in form, serve also as the domains of interest (Fig. 6.1a–c). The method is used in the threedimensional DEM code 3DEC that is widely used for rock engineering problems (Itasca, 2000). The fractures are assumed also to be smooth and planar, without thickness. The input parameters required to introduce a new fracture into the model are its orientation (dip direction and dip angle) and the coordinates of a reference point so that the fracture can be placed at specific locations in the model. The shape and size data are not required. To prevent some existing blocks from being cut by a new fracture, these blocks can be hidden away and their intersections with the new fracture are discarded. The SSD approach is conceptually simple, straightforward to program and probably more efficient in computation. On the other hand, due to the infinitely large fractures, all blocks generated are convex. The artificial fractures that need to be introduced to defined engineering boundaries (such as tunnels, caverns and slopes) are also infinitely large and thus produce unnecessary parts of artificial fractures and blocks, which may make the block geometry and mechanical behavior of the near-field rocks more complex than reality. All the above shortcomings are due to one factor: the assumption of infinitely large fractures, both natural and artificial. The more significant shortcoming for this method is the fact that it has great difficulties in representing natural fracture systems, deterministic or stochastic, formed by fractures of finite size and general shapes which is important for fluid flow analysis in the fracture systems. The BR approach, boundary representation, uses principles of closed surfaces and polyhedra in combinatorial topology to represent boundaries of blocks. It was first reported in Lin et al. (1987) for the representation of block system geometry for rock mechanics problems, with extensive use of the terminology and operations of set theory – which is not so easily understood by practicing engineers without a thorough knowledge of set algebra and topological geometry. On the other hand, the method is more natural for representing the geometry of blocks of general shapes, convex or concave, and the

180 π1

Fracture plane

II

I

New block

I

(Initial block)

(a)

(b)

π2 π1 II

III

πi

IV

discontinuity planes

I, II, III block numbers

I

(c)

Vertex Face

Body

Body

Edge

(d)

Fig. 6.1 Successive space division approach with infinitely large fractures. (a) The master block defining the domain of interest; (b) splitting of the master block by the first fracture; (c) successive splitting of existing blocks by new fractures; (d) basic topological elements for boundary representation (BR) method of block system generation in DEM: vertex, edge, face and body. connectivity with neighboring blocks, and is computationally more efficient with skillful programming. The definitions of the basic topological elements of vertex, edge, face and body are shown in Fig. 6.1d. The BR method uses the basic topological elements of vertices, edges, faces and bodies to define fractures of finite size, shape, orientation and location, bodies of general shapes and sizes and location, and the block systems through the connectivity relations between the bodies. A vertex is a point element representing an intersection point between two or more edges. An edge is a linear element representing intersection line segments between two or more faces. A face is a surface element defined by at least three intersecting edges and represents an intersection surface between two bodies (Fig. 6.2). An edge connects only two vertices, but can connect multiple faces. A face connects only two bodies, but can connect multiple edges and vertices. In topology, edges do not need to be straight and so can be curves. Faces do not need to be planar and smooth and so can be curved rough surfaces. However, in DEM or any other numerical Edge

Open surface

(a)

(b)

(c)

Fig. 6.2 (a) An open surface with edge; (b) a closed spherical surface; (c) a Mo¨bius band.

181

method, we treat the edges as straight linear segments, faces as planar polygons and bodies as generally shaped polyhedra that can be convex, concave or multiply connected (i.e., having holes). In the BR method, the fractures are assumed to be either regular (rectangle, circular or elliptical) or generally irregularly shaped planar polygons of finite size, without thickness. The data for fracture orientation (dip angle and dip direction), side lengths (for rectangle fractures), radius (for circular fractures) or lengths of the two semi-principal axes (for elliptical fractures) and the coordinates of a reference point (mass center, for example) are used as input data for regular fracture definition. The complete set of coordinates of boundary vertices are used to define irregular fractures whose dip direction and dip angle can be calculated from the coordinates of the boundary vertices. All fractures are introduced at once, not successively as in SSD method, and the intersections are calculated to define the sets of vertices, edges and faces (general polygons formed by single closed loops of edges) characterizing the individual blocks. The individual blocks are then identified one by one from the sets of vertices, edges and faces by using a boundary operator, and the Euler–Poinca´re formula for a polyhedron is invoked to ensure the correctness of the block identification (termed tracing) process. The advantage of this algorithm is that blocks generated are generally shaped (i.e. convex, concave, singly or multiply connected with holes), and that the resultant block system provides a more realistic representation of the fracture connectivity and block system formation. This is because of the finite sizes of the fractures that are used. A minimum of artificial fractures is needed with precise shapes and dimensions to the defined engineering boundaries, and hence without introducing extra unnecessary fractures and blocks. In this chapter, the basic concepts and principles of combinatorial topology of polyhedra are presented; these are used to develop the boundary representation algorithm. Although a complete coverage of combinatorial topology of polyhedra is beyond the scope of this book (see Henle, 1974), some most relevant concepts, based more on intuitive understanding of solid geometry and algebra, are presented to make the algorithm as readily understandable as possible to both practicing engineers and academic researchers alike.

6.1

Surfaces and Homeomorphism

A surface in combinatorial topology can have different topological properties of being open or closed and oriented or non-oriented (uniorientable). An open surface is a surface with boundaries (edges) (Fig. 6.2a). A moving point on one side of an open surface cannot move continuously onto another side without crossing its edge, but it can do so on a uniorientable surface. A closed surface is a surface without boundaries (edges). A moving point on a closed surface cannot move continuously from one side to another, unless a hole is made in it. A surface enclosing a solid ball or a generally shaped solid polyhedron is a closed surface (Fig. 2b). A typical (also the most famous) uniorientable (or one-sided) surface is the Mo¨bius band on which a moving point can move continuously from one side of the band onto another without crossing its edge (Fig. 6.2c). The topology of surfaces is a branch of mathematics the subject of which is to study the properties of surfaces under topological transformations, i.e., continuous transformation of surfaces under continuous deformation, including stretching, shrinking, folding, crumbling without breaking, tearing, punching or overlapping. The property of a surface that is invariant under all topological transformations is called a topological property of the surface. If two surfaces can be transformed topologically from one to another, we say that the two surfaces are topologically equivalent, or more formally homeomorphic, or one surface is a homeomorphism of another. For example, a circular disk can be transformed by continuous deformation (without tearing, breaking and overlapping) into an ellipse, a curvilinear or straight-edged polygon and a cap-shaped surface (Fig. 6.3a). All these figures are homeomorphic to each other and we say that they are all topologically equivalent to a circular disk. Similarly, a spherical surface is homeomorphic to an ellipsoid and a straight-edged polyhedron without any through-going holes (Fig. 6.3b).

182

(a)

(b)

Fig. 6.3 Homeomorphic figures by topological transformation.

(a)

(b)

Fig. 6.4 Some non-homeomorphic figures: (a) a disk and an annulus; (b) a sphere and a torus. However, a circular disk is not homeomorphic to an annulus and a spherical surface is not homeomorphic to a torus (Fig. 6.4). There are two categories of oriented, closed surfaces in topology that are most relevant to the study in this chapter: Those homeomorphic to a sphere and those homeomorphic to a torus with one hole or more complex closed surfaces of multiple holes.

6.2

The Polyhedron and Its Characteristics

An oriented, closed surface in a three-dimensional Euclidean space R3 is called a polyhedron. The term polyhedron has two meanings. One refers to the solid block with its volume and mass and another to the polyhedral surface enclosing the solid mass. The meaning of a polyhedron in this book is the latter, unless stated otherwise. A polyhedron is homeomorphic to either a sphere, a torus or the closed surface of a generally shaped block with multiple holes. Let us divide a sphere (or a torus) into a finite number of curvilinear polygons (termed a polygonal division) in such a way that two and only two of its curvilinear polygons share each curvilinear edge. By a homeomorphism, the sphere (or the torus) can be transformed into a polyhedron of planar polygonal faces and straight edges, corresponding to the same numbers of curvilinear edges and polygons on the sphere or torus (Fig. 6.5). A polyhedron must satisfy the following conditions: (1) Any of its two polygons have no common interior point. (2) The edges of these polygons coincide in pairs (indicating that the total number of edges of the polygon set is even). (3) The set of polygons cannot be separated into two disjoint subsets (implying that the polyhedron must be of one piece).

183 E

F B

A E A

F

B H

G

C

G

H

D C

D

I K A

I J

O

P N L

H

A

J L

K

G

M

C

F

E

E

B

G

F

M O

D C

N

H

P D

B

Fig. 6.5 Polygonal divisions of a sphere and a torus into two polyhedra with curvilinear and then planar faces (polygons) of straight edges.

(4) Around every vertex (intersection of edges) of the polyhedron, the polygons and edges sharing this vertex can be arranged in an alternative cyclic order of faces and edges ðf 1 ; e1 f 2 ; e2 . . . f n ; en Þ such that f i and f i þ 1 (1  i  n, where f n þ 1 = f 1 and en ¼ e1 ) share a common edge ei connected with this vertex (Fig. 6.6). The topological property of a polyhedron is invariant under all homeomorphisms. That means the topological property of a polyhedron does not change for its different polygonal divisions meeting the above-mentioned conditions. This property is represented by a formula Nv þ Nf  Ne ¼ 2ðNb  Nh Þ

ð6:1Þ

where Nv ; Nf ; Ne ; Nb ; Nh are the numbers of the vertices, faces, edges, bodies (polyhedra) and holes. This formula is called the Euler–Poinca´re formula. For one polyhedron without a hole, the above formula becomes Nv þ Nf  Ne ¼ 2

ð6:2Þ

ei 3 ei 4

fi 4 fi 5

ek 3

fi 3 vi

fk 3

fi 2 = fk 4 fi 1 = fk 1

ei 5

fi 2 = fk 4

ei 2

ek 2 ei 1 = ek 4

vk

fk 2

fi 1 = fk 1

ei 6

Fig. 6.6 Cyclic orders of edges and faces around a vertex of a polyhedron.

ek 1

184

which is usually called Euler’s or Euler-Poinca´re polyhedron formula. For a torus, the formula becomes Nv þ Nf  Ne ¼ 0

ð6:3Þ

The numbers 2 and 0 are said to be the characteristics of the sphere and torus, which are invariant under all homeomorphisms. Relations (6.1–6.3) are the governing relations for reconstruction of the block system of rocks using fracture data.

6.3

Simplex and Complex

The vertices, edges and faces (polygons) are all called simplexes in combinatorial topology. Figure 6.7 illustrates some simple simplexes in three dimensions. They are called 0-simplex (one single vertex), 1-simplex (an edge with two vertices), 2-simplex (a triangle with three edges and three vertices) and 3-simplex (a tetrahedron with four vertices, six edges and four faces). The simplexes formed by vertices located at the origin and on the axes with unit coordinates are termed unit simplexes (Fig. 6.7a–d). Their homeomorphisms are simplexes with general coordinates of vertices in the three-dimensional Euclidean space. As a rule, a simple n-simplex has always n þ 1 vertices. The complete subsets of simplexes for the four cases in Fig. 6.7 are: (a) and (e): 0-simplex ða0 Þ: ða0 Þ – a single vertex; (b) and (f): 1-simplex ða0 ; a1 Þ: ða0 Þ; ða1 Þ; ða0 ; a1 Þ – two vertices and an edge; (c) and (g): 2-simplex ða0 ; a1 ; a2 Þ: ða0 Þ; ða1 Þ; ða2 Þ; ða0 ; a1 Þ; ða0 ; a2 Þ; ða1 ; a2 Þ; ða0 ; a1 ; a2 Þ – three vertices, three edges and one polygon (triangle);

x3

x3

x3

x3 e3

(0,0,0)

x1

e0

(0,0,0) e0 (0,1,0)

e0 (0,0,0)

x2

x1

(a)

x2

e1 (1,0,0)

x1

(b)

x3

x3

(1,0,0)

a0

a0

(f)

a3

a1

x2

x2 a0

x1 (e)

(d)

a2

x2

x1

a1 (g)

x2

(1,0,0)

x3

a1

x1

x1

(c)

e2

e1

x3

a0

(0,1,0)

e0

x2

e2

e1

(0,0,1)

x2 x1

a2 (h)

Fig. 6.7 The 0, 1, 2 and 3-simplexes in three dimensions. (a), (b), (c) and (d) are unit simplexes, (e), (f), (g) and (h) are their respective homeomorphisms.

185

(d) and (h): 3-simplex ða0 ; a1 ; a2 ; a3 Þ: ða0 Þ; ða1 Þ; ða2 Þ; ða3 Þ; ða0 ; a1 Þ; ða0 ; a2 Þ; ða0 ; a3 Þ; ða1 ; a2 Þ; ða1 ; a3 Þ; ða2 ; a3 Þ; ða0 ; a1 ; a2 Þ; ða0 ; a2 ; a3 Þ; ða0 ; a3 ; a1 Þ; ða1 ; a3 ; a2 Þ; ða0 ; a1 ; a2 ; a3 Þ – four vertices, six edges, four faces and one polyhedron. Let S ¼ ða0 ; a1 ; a2 ; . . .; an Þ represent an n-simplex, in which (a0 ; a1 ; a2 ; . . .; an ) is the ordered list of the (n + 1) vertices of the simplex and ðx1i ; x2i ; . . .; xni Þ be the coordinates of vertex ai . Let Se ¼ ða0 ; a1 ; a2 ; . . .; an ; 1Þ be an extension of S with the addition of a vertex (1, 1, . . . 1), the (n + 1) vector ðx1i ; x2i ; . . .; xni ; 1Þ; ði ¼ 0; 1; . . .; nÞ, forms a linearly independent (n + 1)-dimensional linear space. The orientation of the n-simplex S ¼ ða0 ; a1 ; a2 ; . . .; an Þ is then defined by the determinant of this linear space Dða0 ; a1 ; a2 ; . . .; an ; 1Þ, given by the product       ð 1 Þ n Dða0 ; a1 ; a2 ; . . .; an Þ ¼ ð 1 Þ n     

x10 x11 ... x1i ... x1n

... ... ... ... ... ...

x20 x21 ... x2i ... x2n

xn0 xn1 ... xni ... xnn

1 1 ... 1 ... 1

       6¼ 0    

ð6:4Þ

The n-simplex is positively oriented if the product ð  1Þ n Dða0 ; a1 ; a2 ; . . .; an Þ > 0 and negatively oriented if the product ð 1Þ n Dða0 ; a1 ; a2 ; . . .; an Þ < 0. This implies that, if a n-simplex has the same orientation as the unit n-simplex, S0 ¼ ðe0 ; e1 ; e2 ; . . .; en Þ in which e0 ¼ f0; 0; . . .; 0g is the origin, e1 ¼ f1; 0; . . .; 0g, e2 ¼ f0; 1; . . .; 0g, . . . en ¼ f0; 0; . . .; 0; 1g are the vertices on the axes of the unit coordinates, and   0   1 Dðe1 ; e2 ; . . .; en ; 1Þ ¼  ...  0

0 0 ... 0

... ... ... ...

0 0 ... 1

 1  1  ¼ ð 1 Þ n . . .  1 

ð6:5Þ

A 0-simplex is only one vertex and has no orientation; a 1-simplex is an edge with two vertices, ðx10 Þ and ðx11 Þ, and its orientation is given by  x ð11 ÞDða0 ; a1 Þ ¼  10 x11

 1  ¼ ðx11  x10 Þ 1

ð6:6Þ

Therefore, a 1-simplex (edge ða0 ; a1 Þ) is positively oriented if x11 > x10 and negatively oriented if x11 < x10 . This means that there are two classes of ordered pairs of vertices corresponding to the positive and negative orientation of a 1-simplex: ða0 ; a1 Þ and ða1 ; a0 Þ, respectively, with ða0 ; a1 Þ ¼ ða1 ; a0 Þ. The orientation of a 2-simplex is given by   x10  2 ð 1Þ Dða0 ; a1 ; a2 Þ ¼  x11  x12

x20 x21 x22

 1  1  1

ð6:7Þ

It has a positive orientation if the determinant is larger than zero, i.e., if vertices fa0 ; a1 ; a2 g are ordered counter-clockwise. The even permutations fa1 ; a2 ; a0 g and fa2 ; a0 ; a1 g will also provide a positive orientation of the triangle simplex. The odd permutations of vertices order fa1 ; a0 ; a2 g, fa0 ; a2 ; a1 g and fa2 ; a1 ; a0 g represent the negative orientation of the 2-simplex.

186 b2

a2

a0

a3

c2

a1 a2

c0 c1 a0

b0

a1

b1

a3

a0 a2

a1 (b)

(a)

a4

a5

a6 (c)

Fig. 6.8 Three sets of simplexes, (a) is not a complex. A 3-simplex is positively oriented if   x10  x ð  1 Þ 3 Dða0 ; a1 ; a2 ; a3 Þ ¼  11  x12  x13

x20 x21 x22 x23

 1  1  >0 1  1

x30 x31 x32 x33

ð6:8Þ

Meeting this condition, it can be directly deduced that all its 2-simplexes are positively oriented. Even and odd permutations of the vertex order will make the positive and negative classes of the simplex orientation, respectively. A finite set K of simplexes in an n-dimensional Euclidean space Rn is called a finite Euclidean simplicial complex (simply called a complex hereafter) if and only if it has the following properties: (i) each edge (or face) of a simplex in K is also a simplex in K; (ii) the intersection of every two simplex in K is either a empty set or a common edge (or face) of these two simplexes. Simply speaking, the above definition means that all the simplexes cover exactly the exterior surface of the complex without overlapping, and each edge is shared by two and only two simplexes. Figure 6.8 illustrates three sets of simplexes in R2 . Sets (b) and (c) are complexes and set (a) is not. A complex K is said to be oriented if and only if a definite orientation (which may be chosen arbitrarily) is assigned to each of the simplexes in K. On the other hand, if a n-dimensional complex K has all its n-simplexes having the same orientation in Rn , then the complex K is called a simplicial subdivision. The orientation of K is then the same as its n-simplexes and K is called an n-dimensional simplicial complex. Figure 6.9 illustrates a two-dimensional simplicial complex of a polygon with seven vertices (called a 7-gon) with orientations of the simplexes and the complex indicated by arrows. An oriented n-dimensional simplicial complex K can be said to be a generalized n-simplex that can be used to construct (n + 1)-dimensional simplicial complexes of more complex form. For a n-dimensional simplicial complex K, denote the m-dimensional (m  n), oriented simplexes as X k si , (i = 1, 2, . . . k), in K, then the formal sum expression i¼1 ci si is called a m-chain of simplexes in K a5

a5

a6

a5

a6

a6

a4 a1

a0 a2

a2

a3 (b)

a4 a1

a0

a1

a0 a3

(a)

a4

a2 (c)

a3

Fig. 6.9 Simplicial subdivision of a complex (a 7-gon): (a) the subdivision of K by simplexes; (b) assigning the orientation of simplexes; (c) orientation of the complex.

187

(written as Cm ðKÞ) and ci are real numbers called the coefficients of the m-chain. Two chains are equal if and only if they have the same dimension and same coefficients. The sum is a formal sum without any operations between the simplexes in the m-chain. However, operations of addition and multiplication are defined on a set of chains (of the same dimension) under the following rules (a, b, c, 1 and 0 are real numbers):

k X

ai s i þ

i¼1

c

k X

ð6:9aÞ

ð1Þs ¼ s

ð6:9bÞ

0s¼0

ð6:9cÞ

aðbÞs ¼ ðabÞs

ð6:9dÞ

ða þ bÞs ¼ as þ bs

ð6:9eÞ

k X

bi s i ¼

i¼1

ai s i þ

i¼1

1s¼s

k X i¼1

k X

bi si þ

i¼1

! bi s i þ

¼c

k X

ð6:9fÞ

ai si

i¼1 k X

ai s i þ c

i¼1

k X

ai s i

ð6:9gÞ

i¼1

These operations define an Abelian group on chains (Henle, 1974). The concept of chains is necessary to define and calculate the boundary of the simplexes and complexes. If S ¼ ða0 ; a1 ; . . .; an Þ is an n-dimensional simplex in Rn and sr ¼ ða0 ; a1 ; . . .; ^ ar ; . . .an Þ ¼ ða0 ; a1 ; . . .; ar  1 ; ar þ 1 ; . . .an Þ; ðr ¼ 0; 1; 2; . . .; nÞ is its (n1)-dimensional side without vertex ar (see Table 6.1), then the topological boundary of this simplex is defined by the set n [

ða0 ; a1 ; . . .; ^ar ; . . .; an Þ

ð6:10Þ

i¼0

i.e., the union of all its (n1)-dimensional sides, written as @ða0 ; a1 ; . . .; an Þ. The symbol @ is called the boundary operator. Table 6.1 lists the topological boundaries of i-simplexes in Ri . The definition of topological boundary by (6.10) suggests that the boundary of an n-simplex, @S, is a chain of its n-dimensional sides, but its coefficient has not yet been determined. These linearly independent sides form an n-dimensional linear space with its determinant Dða0 ; a1 ; . . .; ^ar ; . . .; an Þ

Table 6.1 Topological boundaries of i-simplexes in Ri n-simplex ða0 ; a1 Þ ða0 ; a1 ; a2 Þ ða0 ; a1 ; a2 ; a3 Þ ................. ða0 ; a1 ; . . .; an Þ

(n-1)-dimensional sides ða0 Þ; ða1 Þ ða0 ; a1 Þ; ða0 ; a2 Þ; ða1 ; a2 Þ ða0 ; a1 ; a2 Þ; ða0 ; a1 ; a3 Þ; ða0 ; a2 ; a3 Þ; ða1 ; a2 ; a3 Þ .............................................. fða0 ; a1 ; . . .; ^ar ; . . .an Þ; r ¼ 0; 1; 2; . . .; ng

188

given by   x10   ...  x ar ; . . .; an Þ ¼  1 ; r  1 Dða0 ; a1 ; . . .; ^  x1 ; r þ 1   ...  x1n

x20 ... x2 ; r  1 x2 ; r þ 1 ... x2n

... ... ... ... ... ...

 xn0   ...   xn ; r  1   xn ; r þ 1   ...   xnn

ð6:11Þ

For an oriented n-simplex, S, its orientation is determined by the product expressed in Eqn (6.4). Expanding the (n + 1)-dimensional determinant by the minors of the elements in the column of 1s, the product for the orientation becomes ð  1Þ n Dða0 ; a1 ; a2 ; . . .; an ; 1Þ ¼ ð 1Þ 2n þ 2

n X

ð  1 Þ r Dða0 ; a1 ; . . .^ar ; . . .; an Þ

ð6:12Þ

r¼0

The term ð 1Þ r ; ðr ¼ 0; 1; . . .; nÞ, then determines the missing coefficients (always þ1 or 1) in the (n  1)-chain Cn  1 ðKÞ, the topological boundary of the n-simplex S ¼ ða0 ; a1 ; . . .; an Þ. The resultant (n  1)-chain is called the algebraic boundary of the oriented n-simplex (see Table 6.2). Therefore, the precise definition of the algebraic boundary @S of an oriented n-simplex S ¼ ða0 ; a1 ; . . .; an Þ in an oriented simplicial complex K is given by the formal sum of its (n  1)-chains Cn  1 ðKÞ, written @S ¼

n X

ð 1 Þ i ða0 ; a1 ; . . .; ^ ai ; . . .; an Þ ¼

i¼0

n X

ð 1 Þ i ða0 ; a1 ; . . .; ai  1 ; ar þ 1 ; . . .; an Þ

ð6:13Þ

i¼0

Table 6.2 lists the algebraic boundaries of i-simplexes in Ri , corresponding to the topological boundaries in Table 6.1. For an oriented simplicial complex K in Rn with M oriented n-simplexes, Si , (i = 1, 2, . . . M), the algebraic boundary of K, @K, is defined to be the union of boundaries of all n-simplexes, given by

Table 6.2 Algebraic boundaries of i-simplexes Ri . Determinant expression for orientation

Algebraic boundary (Cn  1 ðKÞ)

ð 1 Þ 1 Dða0 ; a1 ; 1Þ ¼ Dða1 Þ  Dða0 Þ ð 1 Þ 2 Dða0 ; a1 ; a2 ; 1Þ ¼ Dða1 ; a2 Þ  Dða0 ; a2 Þ þ Dða0 ; a1 Þ

@ða0 ; a1 Þ ¼ ða1 Þ  ða0 Þ @ða0 ; a1 ; a2 Þ ¼ ða1 ; a2 Þ  ða0 ; a2 Þ þ ða0 ; a1 Þ

ð 1Þ 3 Dða0 ; a1 ; a2 ; a3 ; 1Þ ¼ Dða1 ; a2 ; a3 Þ  Dða0 ; a2 ; a3 Þ þ Dða0 ; a1 ; a3 Þ  Dða0 ; a1 ; a2 Þ

@ða0 ; a1 ; a2 ; a3 Þ ¼ ða1 ; a2 ; a3 Þ  ða0 ; a2 ; a3 Þ þ ða0 ; a1 ; a3 Þ ða0 ; a1 ; a2 Þ ................................................. @ða0 ; a1 ; a2 ; . . .; an Þ n X ð 1 Þ r ða0 ; a1 ; . . .^ar ; . . .; an Þ ¼

................................................. ð 1 Þ n Dða0 ; a1 ; a2 ; . . .; an ; 1Þ n X ð 1Þ r Dða0 ; a1 ; . . .^ar ; . . .; an Þ ¼ r ¼0

r ¼0

189 X3

a5 X3

a3

n

a3

a0 a4

a1

a2 X2

a0

X2 a2

a1

X1

X1

Fig. 6.10 (a) A complex in R3 of four simplexes and (b) the right-hand rule for positive orientation of a face of a polyhedron.

@K ¼ @

M X i¼1

Si ¼

M X i¼1

@ðSi Þ ¼

M X

n X

i¼1

r ¼0

! r

ð 1 Þ ða0 ; a1 ; . . .; ^ar ; . . .; an Þ

ð6:14Þ

As an example, see the oriented simplicial complex K in R2 in Fig. 6.9. The complex K consists of five positively oriented 2-simplexes: S1 ¼ ða0 ; a1 ; a6 Þ, S2 ¼ ða1 ; a2 ; a3 Þ, S3 ¼ ða1 ; a3 ; a4 Þ, S4 ¼ ða1 ; a4 ; a6 Þ and S5 ¼ ða4 ; a5 ; a6 Þ. The algebraic boundary of the complex K is then given by @K ¼ @ðS1 þ S2 þ S3 þ S4 þ S5 Þ ¼ @S1 þ @S2 þ @S3 þ @S4 þ @S5 ¼ ½ða1 ; a6 Þ  ða0 ; a6 Þ þ ða0 ; a1 Þ þ ½ða2 ; a3 Þ  ða1 ; a3 Þ þ ða1 ; a2 Þ þ ½ða3 ; a4 Þ  ða1 ; a4 Þ þ ða1 ; a3 Þ þ ½ða4 ; a6 Þ  ða1 ; a6 Þ þ ða1 ; a4 Þ þ ½ða5 ; a6 Þ  ða4 ; a6 Þ þ ða4 ; a5 Þ

ð6:15Þ

¼ ða0 ; a1 Þ þ ða1 ; a2 Þ þ ða2 ; a3 Þ þ ða3 ; a4 Þ þ ða4 ; a5 Þ þ ða5 ; a6 Þ  ða0 ; a6 Þ as shown in Fig. 6.9c. It is a chain of 1-simplexes, called a 1-chain. Figure 6.10a shows a complex K in R3 of four simplexes. Applying the relation (6.4) for assignment of simplex orientations, the ordered lists of the positively oriented simplexes are: S1 ¼ ða0 ; a1 ; a2 ; a5 Þ, S2 ¼ ða0 ; a2 ; a3 ; a5 Þ, S3 ¼ ða0 ; a3 ; a4 ; a5 Þ and S4 ¼ ða0 ; a4 ; a1 ; a5 Þ. The algebraic boundary of the complex K is then calculated as @K ¼ @ðS1 þ S2 þ S3 þ S4 Þ ¼ @S1 þ @S2 þ @S3 þ @S4 ¼ ½ða1 ; a2 ; a5 Þ  ða0 ; a2 ; a5 Þ þ ða0 ; a1 ; a5 Þ  ða0 ; a1 ; a2 Þ þ ½ða2 ; a3 ; a5 Þ  ða0 ; a3 ; a5 Þ þ ða0 ; a2 ; a5 Þ  ða0 ; a2 ; a3 Þ þ ½ða3 ; a4 ; a5 Þ  ða0 ; a4 ; a5 Þ þ ða0 ; a3 ; a5 Þ  ða0 ; a3 ; a4 Þ þ ½ða4 ; a1 ; a5 Þ  ða0 ; a1 ; a5 Þ þ ða0 ; a4 ; a5 Þ  ða0 ; a4 ; a1 Þ

ð6:16Þ

¼ ða1 ; a2 ; a5 Þ  ða0 ; a1 ; a2 Þ þ ða2 ; a3 ; a5 Þ  ða0 ; a2 ; a3 Þ þ ða3 ; a4 ; a5 Þ  ða0 ; a3 ; a4 Þþða4 ; a1 ; a5 Þ  ða0 ; a4 ; a1 Þ which is a chain of 2-simplexes, a 2-chain. The relation (6.4) also implies that, for a oriented polyhedron in R3 , if the vertices of a face (polygon) are ordered counter-clockwise (positive orientation), then the outward normal direction of the face points away from the interior of the polygon, i.e., the right-hand rule applies (Fig. 6.10b). If K is an oriented, simplicial complex in Rn consisting of M n-simplexes Sr ¼ ða0 ; a1 ; . . .; ^ ar ; . . .; an Þ; ðr ¼ 0; 1; 2; . . .; nÞ, then the boundary of the simplexes is a 0-chain, i.e.,

190

@ð@Sr Þ ¼ @@Sr ¼ 0

ð6:17Þ

Therefore, the boundary of the (n  1)-chains of the complex K is also a 0-chain, i.e., ! ! M M M X X X Si ¼ @ @Si ¼ @ð@Si Þ ¼ 0 @ð@KÞ ¼ @@K ¼ @ @ i¼0

i¼0

ð6:18Þ

i¼0

For the two examples shown in Figs 6.9 and 6.10a, application of relations (6.17) and (6.18) leads to (1) for the complex K in Fig. 6.9: @ð@KÞ ¼ @ð@S1 þ @S2 þ @S3 þ @S4 þ @S5 Þ ¼ @ð@S1 Þ þ @ð@S2 Þ þ @ð@S3 Þ þ @ð@S4 Þ þ @ð@S5 Þ ¼ @ða0 ; a1 Þ þ @ða1 ; a2 Þ þ @ða2 ; a3 Þ þ @ða3 ; a4 Þ þ @ða4 ; a5 Þ þ @ða5 ; a6 Þ  @ða0 ; a6 Þ ¼ ½ða1 Þ  ða0 Þ þ ½ða2 Þ  ða1 Þ þ ½ða3 Þ  ða2 Þ þ ½ða4 Þ  ða3 Þ þ ½ða5 Þ  ða4 Þ

ð6:19Þ

þ ½ða6 Þ  ða5 Þ  ½ða6 Þ  ða0 Þ ¼ 0 (2) for the complex K in Fig. 6.10a: @ð@KÞ ¼ @ð@S1 þ @S2 þ @S3 þ @S4 Þ ¼ @ð@S1 Þ þ @ð@S2 Þ þ @ð@S3 Þ þ @ð@S4 Þ ¼ @ða1 ; a2 ; a5 Þ  @ða0 ; a1 ; a2 Þ þ @ða2 ; a3 ; a5 Þ  @ða0 ; a2 ; a3 Þ þ @ða3 ; a4 ; a5 Þ  @ða0 ; a3 ; a4 Þ þ @ða4 ; a1 ; a5 Þ  @ða0 ; a4 ; a1 Þ ¼ ½ða2 ; a5 Þ  ða1 ; a5 Þ þ ða1 ; a2 Þ  ½ða1 ; a2 Þ  ða0 ; a2 Þ þ ða0 ; a1 Þ

ð6:20Þ

þ½ða3 ; a5 Þ  ða2 ; a5 Þ þ ða2 ; a3 Þ  ½ða2 ; a3 Þ  ða0 ; a3 Þ þ ða0 ; a2 Þ þ½ða4 ; a5 Þ  ða3 ; a5 Þ þ ða3 ; a4 Þ  ½ða3 ; a4 Þ  ða0 ; a4 Þ þ ða0 ; a3 Þ þ½ða1 ; a5 Þ  ða4 ; a5 Þ þ ða4 ; a1 Þ  ½ða4 ; a1 Þ  ða0 ; a1 Þ þ ða0 ; a4 Þ ¼ 0

Relation (6.18) is a manifestation of the topological property of a closed surface, i.e., the sum of oriented edges of an oriented simplicial complex in R3 representing a polyhedron is empty. Otherwise the complex represents an open surface.

6.4. Planar Schema of Polyhedra A polyhedron (curvilinear or planar) can be represented as a planar graph in two-dimensions, called a planar schema of the polyhedron. The making of a planar schema of a polyhedron homeomorphic to a sphere can be done by removing one of the faces and flattening and stretching of the rest of the surface, see Fig. 6.11 for the making of a planar graph of a cube. A planar graph representation of a polyhedron is a boundary representation. The boundary representation of a polyhedron homeomorphic to a sphere by a planar graph is straightforward, see Fig. 6.12 for more examples. The orientations of all faces are positive (the vertices are ordered counter-clockwise and the right-hand rule is applied to determine the outward normal directions of the faces) and all faces are simple (defined by one single closed chain of edges). The

191

e

e b

f a

a

h

g

f

b g g

c

h

(a)

h

g

c

d

(b)

b

a

d

c

f

e

h g

f

a

b

h

c

d

e

(c)

c

d

d (d)

Fig. 6.11 Making of a planar graph of a cube: (a) initial cube; (b) removal of one face; (c) flattening the rest of the surface; (d) final planar graph. d

a

Nv = 4

Nf = 4

Ne = 6

(a) a

d

b

a

δK = (a, b, c) + (a, c, d) + (a, d, b) + (d, c, b)

c b

c

a

b

c

b

d

c

d

g

h

Nv = 8

Nf = 6

Ne = 12

(b) f

e g

a c

l n

e

e

b

k d m

(c)

h

k

i

n

h

e

Nv = 14

Nf = 9

Ne = 21

δK = (a, c, l, k) + c, a, m, h) + (h, m, e, g)

l i

j

f g

g

b d

c m

+ (h, f, b, d) + (d, c, g, h) + (a, b, f, e)

f

a

j

δK = (a, c, d, b) + (a, e, g, c) + (g, e, f, h)

h

+ (g, e, f, h) + (h, f, j, i) + (i, j, b, d) + (d, b, k, l) + (l, c, h, g, h, i, d) + (a, k, b, j, f, e, m)

f

Fig. 6.12 Boundary representation of a polyhedron homeomorphic to a sphere. The arrows indicate positive orientation of the removed face (underlined). face underlined in the chain of faces in each case is the imagined removed face for the boundary representation. In the case that a polyhedron has some of its faces not simple, i.e., the faces are defined by more than one chain of edges (corresponding to a multiply-connected planar figure), auxiliary edges should be added on these non-simple faces to make them simple, see Fig. 6.13. The addition of edges to a complex does not affect the characteristics of the polyhedron (Fre´chet and Fan, 1967; Henle, 1974). Figure 6.14a shows a cylindrical open surface – a cylinder without top and bottom faces. By topological transformation, it can be transformed into an annulus (Fig. 6.14b), i.e., an open cylindrical surface is homeomorphic to an annulus. An annulus is, however, not a simplex of one boundary, but two boundaries. Another representation is to cut the cylindrical surface along one of its generation lines pawith the orientation from vertex p to vertex a (Fig. 6.14c), and then flatten it into a rectangle with two edges (p, a) but of opposite orientations (Fig. 6.14d). This rectangle (p, a, a, p) with the orientation of (p, a) is then the planar graph of the cylindrical surface. A special topology is then defined on this rectangle so that two opposite edges (p, a) are topologically identified, i.e., they are actually the same edge.

192 a

b k m

c

l

f

e

i

a

j n

b

d o

j

i

p

m

n p

o e

k

f

l

c g

h Nv = 16

Nf = 14

d

g

h

Ne = 28

Auxiliary edge

δK = (a, e, g, c) + (c, g, h, d) + (d, h, f, b) + (b, f, e, a) + (i, a, c, k) + (k, c, d, l) + (l, d, b, j) + (j, b, a, i) + (m, i, k, o) + (o, k, l, p) + (p, l, j, n) + (n, j, i, m) + (n, m, o, p) + (e, f, h, g)

Fig. 6.13 Boundary representation of a polyhedron homeomorphic to a sphere, but where one of its faces (the top face) is not simplicial.

a

c

a b

b

a

c

d (a)

a

p

p

d p

(b)

a

(c)

(d)

Fig. 6.14 Boundary representation of a cylindrical surface. (a) A cylinder without top and bottom; (b) an annulus homeomorphic to the cylinder; (c) making of a new extra edge (p, a); (d) topological identification of edge (p, a) and the resultant planar graph.

A topological identification of two edges has the same effect as gluing them together. Figure 6.15 illustrates topological identifications used for a sphere and a torus. The planar graph for the sphere is formed by two curvilinear edges that are topologically identified. The points on two topologically identified edges have a unique and reversible one-to-one correspondence and they are to be superimposed during the imaginary gluing operation and the sense of orientation of the two edges are opposite. If a small neighborhood is defined at a point on the introduced new edge (as the small disk around a point in Figs 6.14 and 6.15), this neighborhood is then shared by the identified edges. Below is a more precise definition of the topological identification. Let P be a set of polygons and ai ði ¼ 1; 2; . . .; nÞ is a set of edges from these polygons. These edges are termed topologically identified when a new topology is defined on P such that: (1) Each edge has an orientation from one endpoint to another and is placed in topological correspondence with a unit real interval [0, 1] such that the initial endpoints are corresponding to 0 and the end points are corresponding to 1. (2) The points on the edges ai ði ¼ 1; 2; . . .; nÞ that are corresponding to the same value from the unit interval are treated as the same point.

193

a

a

a

p

p

p

(a) a

a

a

a

a a

a

(b)

Fig. 6.15 Planar graph representation of (a) a sphere and (b) a torus by topological identification.

c

a

b g g

e

f

e

h

f

e

f

e

f

g

h

c

e

a

(b)

g

h d c

h c a

π

(d)

f

e

a f

(e)

b

f

f h

c

d b

b

e

h

g

h

π

a

(c)

g

d

π e

(a)

e

h h

g

g

h

g

d

c bπ

d

π

a

π

d b f

e (f)

Fig. 6.16 Successive projection and edge identification for making a planar graph of a cube. (a) Removal of one face and select one face as the projection plane p; (b) projection of other faces on the p plane; (c) resultant projection; (d) and (e) identification of edges (cg), (bf), (ae) and (dh); (f) final planar graph. (3) The neighborhood of the new topology on P are the disks entirely contained in a single polygon and the union of half disks (or quarterly disks or sectors) whose diameters match the interval values (0 to 1) around corresponding points on the edges ai ði ¼ 1; 2; . . .; nÞ (Henle, 1974). The computer algorithm for making planar graphs for polyhedra homeomorphic to a sphere is to use the successive projection and topological identification process in a straightforward manner, see Fig. 6.16. The procedure used in Fig. 6.16 can be applied for more complicated polyhedra homeomorphic to a sphere. It is, however, much more difficult to make planar graphs for polyhedra homeomorphic to a torus, because two additional edges need to be introduced along which topological identifications are required. For practical problems, the fractures are generally rough, not planar, and the blocks are of irregular shapes. The usual procedure is first to assume that fractures are smooth and planar (or piecewise planar,

194

(a)

(b)

a b

n

d

c

z1

g f

e i

h r t z2 z1

m

jv w k x y q z4 z

o

s u

p

z2

e

i r t f

π π b

3

n

h

m

c d

a

o z4

z3

x

(c)

π

s p

j

u

π π

q z4

k

g

z2

z1

w

v

z3

y

(d)

z3

z4

z1 n

w

π

p

q y

z2

k

u

j

g

s

d

c

a

b

f

i r

v e

h t

x o

π

z3

m

z4

z1

z2

π

(e)

Identified edges

Auxiliary edges for non-simple faces

Fig. 6.17 Planar graph of a general block. (a) Initial irregular block; (b) polyhedron approximation to the initial block in a metric space; (c) labeling of vertices of the polyhedron in a topological space; (d) boundary representation of the polyhedron with orientation by a planar graph in a topological space. Nv þ Nf  Ne ¼ 24 þ 22  46 ¼ 0. although this is not necessary for their topological analysis) and then represent the block surfaces by their corresponding planar faces (Fig. 6.17a and b). The resultant rock blocks are seen as polyhedral and their vertices are labeled (Fig. 6.17c). These operations are carried out in a three-dimensional metric space in which the locations of vertices and dimensions of edges and faces are important. The task of block generation is then to trace the individual blocks and their numbers of vertices, edges and faces using boundary operators. Planar graphs can be made (Fig. 6.17d and e) to help in analyzing these relations, but it is not necessary to calculate the metric information in the block-tracing process. The combinatorial equations (6.1) and (6.18) do not require any metric properties of the polyhedra and are therefore carried out entirely in a topological space.

195

6.5

Data Sets for Boundary Representation of Polyhedra

The topological properties of polyhedra are useful for designing a proper data structure to represent the geometry of the polyhedra so that storage and retrieval of information are most convenient and economic in terms of computational efficiency. Different data structures for this purpose have been created, chief among them are the linked-list structure and arrays. The linked-list data structure has the advantage of occupying smaller computer memory but needs extensive use of pointers for information storage and retrieval and is relatively slow in computer implementation. The array structure needs more computer memory but is faster in retrieval and storage of information. The difference is relative and computational efficiency depends very much on the programming skills. Let integer sets Mv ¼ ð1; 2; . . .; Nv Þ, Me ¼ ð1; 2; . . .; Ne Þ, and Mf ¼ ð1; 2; . . .; Nf Þ be the sets of vertex numbers, edge numbers and face numbers, respectively. The set V(X) records the coordinates of vertices, i.e.,   VðXÞ ¼ vi ðxi ; yi ; zi Þ; i 2 Mv ; ðxi ; yi ; zi Þ 2 R3 The set E(V) records the pairs of vertex numbers defining each edge and set F(V) records the lists of closed vertex loops defining each face in a counter-clockwise manner, written as   EðVÞ ¼ ðvj ; vk Þ i ; j 2 Mv ; k 2 Mv ; i 2 Me   FðVÞ ¼ ðvj ; vk ; . . .; vl ; vj Þ i ; j 2 Mv ; k 2 Mv ; l 2 Mv ; i 2 Mf To make the data structure more efficient for computer implementation, three more sets of data can also be defined to represent the topology of the block system. One set is called V(E) recording the cyclic order of edges connected to each vertex; another is called V(F) recording the cyclic order of faces around each vertex; and the third is called F(E) recording the lists of closed edge loops defining each face (cf. Fig. 6.18 for a cube and its data sets): v6

f4

e12 v3

e3

f6

e10

f5

e8 f3

e2

f1 v5

e6 v8

e5 v1

V(x )

e11

v4

e4

v7

e9

v1 v2 v3 v4 v5 v6 v7 v8

E(x ) e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12

x1, y1, z1 x2, y2, z2 x3, y3, z3 x4, y4, z4 x5, y5, z5 x6, y6, z6 x7, y7, z7 x8, y8, z8

e7

f2 v2

e1

V(E )

f1 f2 f3 f4 f5 f6

F(E ) e1, e2, e3, e4 e5, e6, e 7, e1 e 7, e8, e11, e2 e3, e11, e9, e12 e4, e12, e10, e5 e10, e9, e8, e6

Fig. 6.18 Data sets for a cube.

f1 f2 f3 f4 f5 f6

F(V ) v1, v2, v3, v4, v1 v1, v5, v8, v2, v1 v2, v8, v7, v3, v2 v3, v7, v6, v4, v3 v1, v4, v6, v5, v1 v5, v6, v7, v8, v5

v1 v2 v3 v4 v5 v6 v7 v8

e1, e4, e5 e1, e 7, e2 e2, e11, e3 e3, e12, e4 e5, e6, e10 e3, e9, e12 e8, e9, e11 e6, e8, e 7

v1, v2 v2, v3 v3, v4 v4, v1 v1, v5 v5, v8 v8, v2 v8, v7 v7, v6 v6, v5 v7, v3 v6, v4

V(F ) v1 v2 v3 v4 v5 v6 v7 v8

f1, f5, f2 f1, f2, f3 f1, f3, f4 f1, f4, f5 f2, f6, f5 f4, f6, f5 f3, f6, f4 f2, f6, f3

196

  VðEÞ ¼ ðej ; ek ; . . .; el Þ i ; j; k; l 2 Me ; i 2 Mv ;   VðFÞ ¼ ð f j ; f k ; . . . ; f l Þ i ; j; k; l 2 Mf ; i 2 Mv ;   FðEÞ ¼ ðej ; ek ; . . .; el Þ i ; j; k; l 2 Me ; i 2 Mf ; The data sets V(X), E(V) and F(V) are basic sets to represent the topology of a polyhedron. The sets V(E), V(F) and F(E) are induced sets that can be derived from the basic sets. Theoretically, they provide redundant information; however, for computer execution, it may require much less computational time to have this redundant information readily accessible, than obtaining it every time by calculation. Considering the extensive use of faces, vertices and edges during contact detection in discrete element methods, these computational efforts may be very time-consuming. Therefore, it might be more efficient to have these data sets explicitly in both the local (block-wise) and global data structures, either by linked-lists or arrays.

6.6

Block Tracing Using Boundary Operators

The ordered data sets representing the topology of a polyhedron are generated during the formation of block assemblages involving space sub-division and block tracing. The task of space sub-division is to introduce all fractures at once so that they will divide the domain of interest (a sub-space with a specific set of artificial boundary surfaces) into an assemblage of a finite number of blocks (polyhedra). The faces, edges and vertices of the blocks are defined by the intersections of the introduced fractures. After removing the ’dangling’ edges and faces that do not form a closed surface (this is called regularization), the individual blocks are then traced out one by one through successive applications of the Euler–Poinca´re formula and boundary operators, represented by Eqns (6.1)–(6.3) and (6.18). To illustrate how to apply these governing relations to trace a polyhedron, a cube with six faces, eight vertices and 12 edges is generated gradually face by face, see Fig. 6.19, assuming all faces, vertices and

e9 f6

e10 e6

e5

e7

e1

e4

f4

e9

e5

f e10 e2 6

e1 (d)

e8 e4

e6 f2

f2

e7

(c) e12

e3

f5 e5

f1

e11 e10 e f6 f e8 2

e6 f2

e1

e7

e1

e9

e12

e8

f6 e6

e5

(b)

e3 f1

e7

e1

e10

f5 e4

f2

(a) e12

e8

e6

e5

f2

e9

e12

3

e4

e7

(e)

e9 e3

f4

f5 f 1 e5

e5

e1

f2

f6

e11

e2 f3 e6

e8

e7

(f)

Boundary edges and their orientation arrows on the boundary

Fig. 6.19 Boundary operators during a cubic block generation.

197

edges are known. Denoting the cube as a complex K with its six 3-simplexes (faces) forming its algebraic boundary face loop, @K ¼ ðf 1 Þ þ ðf 2 Þ þ ðf 3 Þ þ ðf 4 Þ þ ðf 5 Þ þ ðf 6 Þ

ð6:21Þ

which is a 2-chain of K. The tracing starts with any vertex of a face, say face 2, ðf 2 Þ in this example in Fig. 6.19. The 2-chain @K ¼ ðf 2 Þ has just one face. Application of the boundary operator (Eqn (6.18)) to the 2-chain leads to a non-zero boundary of @K, with a boundary edge loop represented by @@K ¼ ðe1 Þ þ ðe5 Þ þ ðe6 Þ þ ðe7 Þ, indicating this as an open surface, Fig. 6.19a. Finding ðf 6 Þ to be the next face connected to ðf 2 Þ, the boundary of the 2-chain becomes @@K ¼ ðe1 Þ þ ðe5 Þ þ ðe10 Þ þ ðe9 Þ þ ðe8 Þ þ ðe7 Þ, still a non-zero boundary (Fig. 6.19b). Continuing this operation at each stage of the block tracing when a new face has been recognized for the cube, the boundary operator @@K, is calculated. If @@K is not zero, then the complex is still an open surface, not a polyhedron, and the tracing continues with the boundary edges until @@K ¼ 0 is achieved. Then the complex represents a polyhedron and the block tracing is completed. The natural order of faces defining the block is the order of appearance of faces during the tracing. For the cube illustrated in Fig. 6.19, the order of faces in the data structure is f 2 ! f 6 ! f 5 ! f 1 ! f 3 ! f 4 . Application of Eqn (6.1) leads to Nv þ Nf  Ne ¼ 2, and indicates that the block is homeomorphic to a sphere. The boundary operators at each step in Fig. 6.19 are given as follows: (a) The base face 2, @@K ¼ ðe1 Þ þ ðe5 Þ þ ðe6 Þ þ ðe7 Þ. (b) Add face 6, @@K ¼ ðe1 Þ þ ðe5 Þ þ ðe10 Þ þ ðe9 Þ þ ðe8 Þ þ ðe7 Þ. (c) Add face 5, @@K ¼ ðe1 Þ  ðe4 Þ þ ðe12 Þ þ ðe9 Þ þ ðe8 Þ þ ðe7 Þ. (d) Add face 1, @@K ¼ ðe2 Þ þ ðe3 Þ þ ðe12 Þ þ ðe9 Þ þ ðe8 Þ þ ðe7 Þ. (e) Add face 3, @@K ¼ ðe3 Þ þ ðe12 Þ þ ðe9 Þ þ ðe11 Þ. (f) Add face 4, @@K ¼ 0, block tracing completed. The block-tracing algorithm depends on the availability of data sets of faces, edges and vertices and their connectivity. These data sets are generated during the sub-division of computational space by fractures.

References Cundall, P. A. and Strack, O. D. L., A distinct numerical model for granular assemblies. Geomechanique, 1979;29:47–65. Fre´chet, M. and Fan, K. Y., Initiation to combinatorial topology. Prindle, Weber and Schmidt, Inc., Boston, 1967. Henle, M., A combinatorial introduction to topology. Freeman, San Francisco, 1974. Itasca Consulting Group Ltd., The 3DEC Manual, 2000. Lin, D., Fairhurst, C. and Starfield, A. M., Geometrical identification of three-dimensional rock block systems using topological techniques. International Journal of Rock Mechanics and Mining Sciences and Geomechanics Abstracts, 1987;24(6):331–338. Ma¨ntyla¨, M., An introduction to solid modeling. Computer Science Press. Rockville, Maryland, USA, 1998.