#### Abstract

Three-dimensional manifold element generation and contact detection algorithm between blocks are the bottleneck for the development of three-dimensional numerical manifold method (NMM). For building mathematics cover, the technology of three-dimensional finite element mesh generation is utilized in the paper. Aiming at the characteristics of complex formation and difficult identification of three-dimensional manifold block, three-dimensional manifold cutting technology is developed. It is important to achieve the coding of mathematical cover (MC) and physical cover (PC) for NMM, which directly determines the correctness of three-dimensional manifold element generation. Based on the character that the coding of three-dimensional manifold is the same as two-dimensional field essentially, coding algorithm of PC system proposed by Dr. Shi is extended to be three-dimensional. A three-dimensional manifold cutting program 3D MC.f90 is developed in this paper, which can generate an arbitrary three-dimensional manifold element under tetrahedral and hexahedral mesh cover. Several examples are made, and results show that three-dimensional manifold block shape and the coding of manifold node and element generated by three-dimensional manifold cutting program all agree well with the definition of three-dimensional manifold element.

#### 1. Introduction

Numerical manifold method (NMM) is proposed by Shi [1–3] as an extension of discontinuous deformation analysis (DDA). It is a very flexible numerical method which contains and combines finite element method (FEM) and blocky systems considered in DDA in a unified form. This method combines the advantages of DDA and FEM together and is applicable to a much wider range of problems.

The original NMM is a two-dimensional (2D) numerical model. Shi has given details of the triangular finite element covers while Shyu and Salami [4] have considered quadrilateral isoparametric element covers. Chen et al. [5] developed a high-order NMM with high-order cover functions and verified its necessity for the complicated deformation problems. Terada et al. [6] extended the manifold method for linear and nonlinear analyses of heterogeneous solids and called the method the finite cover method (FCM). Chiou et al. [7] proposed the NMM combined with the virtual crack extension method to study the mixed-mode fracture propagations. Zhang et al. [8, 9] coupled the NMM with boundary element method (BEM) to simulate the growth of complex cracks, with the maximum circumferential stress criterion adopted as the crack growth criterion. Ma et al. [10] exhibited the advantageous features of the NMM for multiple branched and intersecting cracks. Su and Xie [11] proposed an NMM with fixed MCs to compute large displacements of structures. Miki et al. [12] developed a coupled DDA and NMM (DDA-NMM), to take both methods’ advantages while avoiding their shortcomings. Su et al. [13] developed the NMM with covers of arbitrary shapes.

With many people contributing to its development and application, the original 2D NMM has been developed in both theory and computer coding. However, 2D NMM is only applicable to 2D problems, such as plane strain or plane stress. It is difficult to apply 2D NMM to many practical engineering problems because of the complicated geometry configuration of the structure. There is a need to develop a three-dimensional (3D) model. Cheng and Zhang [14] proposed a 3D NMM based on tetrahedron and hexahedron elements and derived the matrices of corresponding equilibrium equations from the minimum potential energy principle. He and Ma [15] also proposed a 3D NMM based on tetrahedron elements. 3D manifold element generation and contact detection algorithm between blocks are the bottleneck for the development of 3D NMM. However, all of the above work has not discussed in detail the generation problem of manifold element. In this paper, the method of generating 3D manifold method is proposed. Basing on previous work, mathematical cover (MC) system is built by 3D finite element mesh generation technology, and 3D block-cut technology is developed into manifold cutting technology for the formation of 3D manifold element, by the improvement of block data structure and block recognition algorithm, encode algorithm of physical cover (PC) system proposed by Shi is extended from 2D to 3D, which achieves the generation of 3D manifold element.

#### 2. Fundamentals of the NMM

The NMM is based on three important concepts: MC, PC, and cover-based element (CE) [15]. The conventional meshes and regions, such as regular grids, finite element meshes, or convergency regions of series, can be transferred to finite MC. The physical domain includes the boundary of the material volume, joint, block, and interface of different material zones. The physical domain represents material conditions which cannot be chosen artificially. The PC system is formed by both MCs and physical domains. If joints or block boundaries divide a MC into two or more completely disconnected domains, those domains are defined as PCs. Therefore the PCs are the intersection between physical domain and MC system. Further elements (CEs) in the NMM framework can be considered as the common part of the overlapping PCs.

Figure 1 illustrates the three basic concepts of the NMM in a 3D view [15]. There are two MCs in total, that is, a sphere cover MC1 and a hexahedron cover MC2. The pyramid defines the physical domain. Intersected with the physical domain, two PCs (i.e., PC1 and PC2), as shown in Figure 2, are generated. These two PCs finally form three CEs, which are CE1, CE2, and CE3, as shown in Figure 3.

Finite element mesh can be used to define finite cover of manifold method. For plane problems, mathematic mesh is finite element mesh of triangle or quadrilateral, and as to space issues, the corresponding is tetrahedral or hexahedral mesh (Figures 4 and 5).

#### 3. Manifold Cutting and the Generation of Three-Dimensional Manifold Element

Manifold element in the NMM framework can be considered as the CE with PC encode system. The question of its generation is to find the CEs and to build the PC encode system of manifold element, thus to form manifold element.

So, the generation of manifold element is performed in three steps as follows:(1)to form 3D finite element mesh (mesh shape is tetrahedron or hexahedron) and translate it to MC system of NMM;(2)to cover physical domain to mathematics mesh, and resubdivision MC, and then form PCs system, namely, the formation of manifold block;(3)to form manifold element and its PC encode system.

The paper focuses on the generation of 3D manifold blocks and the formation of 3D manifold elements and its PC encode system.

##### 3.1. The Formation of Manifold Block

###### 3.1.1. Block Cutting Technology

The issue of block cutting is firstly proposed by Warburton [16]. 3D block cutting technology has been developed to be relatively mature at present and able to generate spatial polyhedron of arbitrary shape, after unremitting efforts of Peng and Tang [17], Lin et al. [18], Lu [19], Jing and Stephansson [20–22], Shi [23], Song et al. [24], and other scholars.

3D block cutting technology is based on the concept of directed body proposed by Ikegawa and Hudson [25]; polyhedron is a directed body surrounded by several directed faces. In combinatorial topology, polyhedron of arbitrary shape can be viewed as an oriented complex in three-dimensional spaces, and it needs to satisfy the formula

As for polyhedron, every edge overlaps with two directed edges of two directed loops. The position of start point and end point in these two directed edges is just reversed in space, and so the sum of these vectors is zero. When the polyhedron is cut by arbitrary spatial polygon and polyhedron family is formed, this conclusion is also valid. Based on these, the basic ideas of 3D block cutting technology are proposed, that edge set is formed by the point set through the intersection in fractures, and the search of space loop, that is two dimensional block, is finished by boundary operation according to the corresponding principle after the edge regularization, and then 3D block is formed through searching by boundary operation after the process of face regulation. Loop and block search is performed by using boundary operation with successive addition of relevant edges and faces until meeting the formula , basing on the principle of “maximum turning-right-angle” or “minimum turning-left-angle.”

After finishing block searching, it is necessary for formed blocks to execute topological check and block volume summation check, in order to ensure the correctness of block searching. Above this aspect, Dr. Shi proposes the corresponding test criteria [23], that is,

2D topological check: for any formed polygon the double boundary operation is zero:

3D topological check: for any formed block the double boundary operation is zero, and the sum of all block boundaries is the boundary of the target block :

Block volume summation check: the summation volume should be equal to the volume of the target block:

The volume checking is a convincing examination. For example, if the target block is simply a cube and its six square faces are also the cutting polygons, the summation volume of its blocks should be equal to the cube volume.

3D topology checks can also use Euler-Poincaré formula [26] to achieve, namely, where, , , , , and are, respectively, the number of vertices, faces, edges, bodies (Polyhedral), and holes. It is called Euler-Poincaré formula.

###### 3.1.2. Simplex Integration

In the process of block searching, the topological type of block needs to be judged whether block is interior or exterior. As for 2D block, its topological type is judged by whether it meets the theorem of polygon interior angle sum or not. In terms of 3D block, its type is judged by the positive and negative characteristics of its directed body volume.

For any arbitrary shaped polyhedron, the method of simplex integration is precise, which helps to get the volume and other physical characteristics of polyhedron.

Assume the vertex list of the th plane loop is: where is the sum of the vertices on the th plane. To complete the definition of the th polygon loops, repeat the first vertex on plane.

Consider the following:

The coordinate of each vertex is expressed as follows:

Then, total polygon loops are assumed to compose the current block and set . The volume of this block is given by (9). Computed by the simplex integrations, integrals for , , , , , , , , and are represented by the coordinates of the boundary vertices only. More details can be shown in Shi [27].

Consider the following:

Integration for other variables can be similarly derived based on the simplex integration method.

It should be mentioned that the simplex integration method is very suitable for irregular polyhedron; hence it is a very important numerical technique in block theory (BT), DDA, distinct element method (DEM), and NMM.

###### 3.1.3. Problems on the Formation of Manifold Block

The block element is generated by the technology of 3D block cutting, and it is mainly used in BT, 3D distinct element method (3D-DEM), 3D discontinuity deformation analysis (3D-DDA), and other noncontinuum mechanics methods. It owns the attribute of simply connected domain, which does not have the nature of multiply connected domain. However, for 3D manifold cutting, the presence of complex boundary, such as holes, will inevitably lead to existence of manifold block owning several holes. In order to ensure the mathematical description completeness of manifold block, the block must have the characteristic of simply connected domain. In addition, there is lack of “branch to be deleted” algorithm to directed face in block-tracing module, for majority of 3D block cutting technology. It has an effect on the accuracy of search more or less.

For this reason, to develop 3D block cutting technology to 3D manifold cutting technology, it is necessary to improve the existing block cutting technology as follows.

Firstly, for the mathematical description completeness, the data structure of describing polyhedron needs to be extended, from which comes point directed-edge directed-loop directed-face directed-polyhedron to a new way, that is, point directed-edge directed-loop directed-face directed-shell directed-polyhedron;

Secondly, in order to ensure the accuracy of search, cutting-face algorithm needs to be added in the existing block-tracing module, equivalent to “branch to be deleted” function in loop-tracing module;

Finally, there is the increase to determinate the relationship between directed-loops and directed-shell, for the generation of multiply connected.

According to the above improvements, 3D manifold cut algorithm is formed as shown in Figure 6.

##### 3.2. The Formation of Manifold Element

The issue of manifold element formation is essentially how to form numbering system of PC. The cover system of numerical manifold method has two cover systems, that is, mathematics and physics. It has two cover codings, namely, mathematics and physics coding. The former can be fully implemented with the coding method of element and node in finite element method, and the latter needs to be researched specially.

###### 3.2.1. The Encode Principle and Method of PC System

When finite element mesh is used to define the finite cover of manifold method, node of manifold element no longer owns the significance of node in finite element method, and it is transformed into a MC formed by all of elements owning this (called “star” in algebraic topology) [28]. Therefore, it no longer has the specific definition of node and then is an abstract and virtual numbering of PC formed by subdivision of physical domain to MC. The numerical order of PC can be arbitrary but must be in accordance with the principle that it is assured that different PC should be corresponded to different its numbering. Therefore, the question of PC numbering can be converted to how to distinguish these different PCs.

To this question, scholars in various countries had carried out relative research, but it was limited to 2D field. Cao and Su [29] and Chen et al. [30] successfully resolved PC coding of 2D manifold element, by the introduction of some artificial assumptions and special judgments. In view of more complex algorithms and some artificial assumptions, it is difficult to extend this method to 3D field. Lin [31] introduced artificial path in PC and resolved the question of PC system coding, by the path judgment of relevant region. It is very difficult and troubling to set artificial path and judge relevant region in 3D field. Cai et al. [28] presented an automatic numbering algorithm of cover system based on the definition of PC and MC. It could better solve the condition that boundary of material is a single simple polygon and did not give an effective solution to complex material boundary with holes, and so forth. In view of the importance of hole issue in 3D manifold element formation, such a coding method is difficult to be extended to 3D field. Basing on the concept of manifold element and node, Mr. Shi [27] achieved different physical cover with different coding, and it was applied to 2D manifold cutting program. The coding algorithm of PC system could be also expanded to 3D manifolds element generation.

###### 3.2.2. The Algorithm of PC System Encode

Based on the above analysis, it is proposed about the algorithm to form 3D manifold element and physics cover system numbering of this. This is divided into five steps as follows:(1)to judge physical property of formed manifold block, namely, to build the association between manifold blocks and block system;(2)to judge mathematical property of formed manifold block, namely, to build association between manifold blocks and finite element mesh;(3)basing on the above two kinds of relationships, to form the association between manifold blocks and star points (namely, nonseparating manifold node);(4)to separate star point by the cutting characteristic of manifold blocks attached to it;(5)to renumber pairs of star points and form nodes of manifold element, thus to form element number of manifold element.

##### 3.3. Manifold Element Generation Algorithms

Based on the above theory about the generation of 3D manifold element, 3D manifold cut program 3D_MC.f90 is developed. It could achieve arbitrary 3D manifold element under the cover of tetrahedral mesh and hexahedral mesh. The basic generation process of 3D manifold element is illustrated, as shown in Figure 7.

#### 4. Illustration Examples

It is necessary to be noted that MC, the vertex of manifold element, and PC own three separate coding systems, respectively, which should not be confused.

##### 4.1. Example 1

This example is the situation of two blocks under the cover of hexahedral mesh (Figures 8–11). There are 27 MCs, 8 original elements, 45 PCs, and 12 manifold elements among it. Table 1 is MC and PC and Table 2 is the coding of 3D manifold element.

**(a)**

**(b)**

**(c)**

**(d)**

**(e)**

**(f)**

**(a)**

**(b)**

**(c)**

**(d)**

**(e)**

**(f)**

In this example, the only joint in the material divided completely the material into two disconnected parts, and any manifold element divided by this joint has completely different nodes or PC numbers. Therefore two manifold elements are free to move independently.

It is found that the nodes of number 1 manifold element are 4_{1}, 5_{1}, 8_{1}, 7_{1}, 13_{1}, 14_{1}, 17_{1}, and 16_{1} and those of number 2 manifold element are 1_{1}, 2_{1}, 5_{1}, 4_{1}, 10_{1}, 11_{1}, 14_{1}, and 13_{1} in Table 2. Because they belong to number 1 material block and have public material boundary, the MC 4, 5, 13, and 14 located on the public boundary cannot be executed by star separated operation. So they have part of the same manifold nodes, namely, 4_{1}, 5_{1}, 13_{1}, and 14_{1.}

Then number 5 and number 10 manifold elements have the same MC 10, 11, 14, 13, 19, 20, 23, and 22 but belong to two material blocks. So their MCs need to be executed by star separated operation to ensure that they have different manifold nodes, namely, number 5 element node for 10_{2}, 11_{2}, 14_{2}, 13_{2}, 19_{1}, 20_{1}, 23_{1}, and 22_{1} and number 10 element node for 10_{1}, 11_{1}, 14_{1}, 13_{1}, 19_{2}, 20_{2}, 23_{2}, and 22_{2}.

##### 4.2. Example 2

This example is the situation of single block with a crack under the cover of hexahedral mesh (Figures 12, 13, 14, and 15). There are 27 MCs, 8 original elements, 33 PCs, and 10 manifold elements among them. Table 3 is MC and PC and Table 4 is the coding of 3D manifold element.

**(a)**

**(b)**

**(c)**

**(d)**

**(e)**

**(f)**

**(a)**

**(b)**

**(c)**

**(d)**

In this example, the only joint inside of the material divided partly the material, any manifold element divided by this joint has partly different nodes or PC numbers. Therefore the two manifold elements can have different movements.

It is known from Figures 9 and 10 and Table 3 that the manifold elements number 8 and number 10 have the same MC, namely, 13, 14, 17, 16, 22, 23, 26, and 25, but separated by crack, so with some different manifold nodes.

##### 4.3. Example 3

This example is the slope of diversion tunnel outlet in some engineering (Figure 16), discontinuities to be considered six teams and their occurrence from the actual geological occurrence (Figure 17). If MC is hexahedron mesh of 8 × 7 × 7, then it contains 576 MCs, 392 original elements, 1358 PCs, and 577 manifold elements (Figures 18 and 19). If MC is tetrahedron mesh, it contains 250 MCs, 884 original elements, 502 PCs, and 1022 manifold elements (Figures 20 and 21).

#### 5. Conclusions

It is systematically studied in detail how to form 3D manifold element. To build mathematics cover, it is directly used to form mathematics mesh by the technology of 3D finite element mesh generation. Aiming at the characteristics of complex formation and difficult identification for 3D manifold block (manifold mesh), 3D manifold cutting technology is developed by improvement of block data structure and block recognition algorithm, based on the technology of 3D block cutting. It is important to achieve the coding of MC and PC for NMM, which directly determines the correctness of 3D manifold element generation. Based on the character that the coding of 3D manifold is the same as 2D field essentially, coding algorithm of PC system proposed by Dr. Shi Genhua is extended to be 3D. On this basis, a 3D manifold cutting program 3D_MC.f90 is developed in this paper, which can generate an arbitrary 3D manifold element under tetrahedral and hexahedral mesh cover.

Several examples are made, and results show that 3D manifold block shape, coding of manifold node, and element generated by 3D manifold cutting program all agree well with the definition of 3D manifold element. In order to fully verify the correctness of 3D manifold element, the studies about contact detection algorithm, contact model, and other aspects will be launched.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgments

The authors acknowledge the collaborative funding support from the National Natural Science Foundation of China (Grant nos. 51209235 and 51109035) and the Special Scientific Fund sponsored by the China Institute of Water Resources and Hydropower Research for the Department of Structures and Materials (1309 and 1412).