Abstract
Contact interaction of two bodies can be modeled using the penalty function approach while its accuracy and robustness are directly associated with the geometry of contact bodies. Particularly, in the research fields of rock mechanics, we need to treat polygonal shapes such as mineral grains/particles at a mesoscale and rock blocks at a macroscale. The irregular shapes (e.g., polygons with small angles or small edges) pose challenges to traditional contact solution approach in terms of algorithmic robustness and complexity. This paper proposed a robust potential-based penalty function approach to solve contact of polygonal particles/block. An improved potential function is proposed considering irregular polygonal shapes. A contact detection procedure based on the entrance block concept is presented, followed by a numerical integral algorithm to compute the contact force. The proposed contact detection approach is implemented into discontinuous deformation analysis with an explicit formulation. The accuracy and robustness of the proposed contact detection approach are verified by benchmarking examples. The potential of the proposed approach in analysis of kinetic behavior of complex polygonal block systems is shown by two application examples. It can be applied in any discontinuous computation models using stepwise contact force-based solution procedures.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Contact occurs almost everywhere in our daily life [29, 42], and it is involved in scientific and engineering problems with a broad scale range (e.g., interaction of particle in air with a scale of μm, collision of planet and comet in space with a scale of km). Particularly, contact of mesoscale mineral particles and macroscale rock blocks is of great important in the research fields of rock mechanics, as the strong relevance of geometrical and physical properties of the discrete bodies and their interfaces to the deformation and strength of rock material and the safety of engineering activities. In the research of the relationship of mesoscale grain properties and macroscale rock deformation and strength properties, the Voronoi-based element shape is commonly used [19, 38, 46, 53]. In the analysis of rock block systems, an assembly of polygonal block is often formed by the intersection of joints/boundaries [9, 11, 20, 34, 45, 54, 58]. Compared to circular/spherical shape, the polygonal/polyhedral shape brings some difficulties for mechanical analysis of block/particle assembles, such as treatment of non-smooth contact normal change at vertices [1, 5, 40, 55, 61, 62], treatment of quasi-parallel edges [63], and the contact type detection of irregular polygons with small edges or small angles.
Solution of contact should consider both the geometrical and physical properties of the contact interfaces. The contact state and contact force are determined by the geometrical relationship of two bodies and the interface constitutive model, which lead to strong nonlinear properties. Many numerical methods have been proposed to solve the mechanical and coupled hydro-thermal–mechanical response of a model with discontinuities by indirect [37, 66, 67] or direct consideration of contact [21, 22, 43, 50]. Among them, the “discrete element” approaches allow both finite displacement, rotation, and detachment of discrete bodies and recognize new contacts automatically [3]. The commonly used approaches belonging to the discontinuous type include rigid block spring method (RBSM) [52], discrete element method (DEM) [2], discontinuous deformation analysis (DDA) [6, 24, 33, 59], the combined finite-discrete element method (FDEM) [26], and the numerical manifold method (NMM) [13, 18, 23]. The solution strategies of these discontinuous models can be mainly classified into two types: the explicit contact force-based solution approach and the implicit displacement-based solution approach. The explicit approaches detect contacts and compute contact forces for the integration of block/particle displacement in each step. By contrast, the implicit approaches detect contacts and solve a global equation of motion that consider the inequality contact constraints. The explicit approaches are restricted by a critical time step, while the implicit approaches require the convergence of contact states. In this paper, the focus is given on the accuracy and efficiency of the explicit approach in solution of polygonal block/particle systems with irregular shapes.
The major issues in explicit contact analysis approach are the detection of contact and computation of contact force. The contact detection is usually proceeded using a two-phase strategy that includes a rough search phase to locate neighbor block pairs and a delicate search phase to find contact types or obtain overlapping volumes [60]. The algorithms to detect neighbor block pairs are well established, such as the no-binary search [27], double-ended spatial sorting [31], and CGrid algorithms [41]. In this paper, the focus is given on the delicate search algorithms for polygons, which can be classified into two types: (1) type-based search and (2) overlap-based search. As stated in [1, 5, 55, 63], there are some embedded difficulties in treating singularity at vertices and irregular shapes. By contrast, the overlap-based detection algorithm aims to establish a structure of overlapping area (in two-dimensional problems) or overlapping volume (in three-dimensional problems), and contact force can be computed using the penalty function approach on the basis of potential [8, 12, 28] of the contact bodies. In this paper, the overlap-based contact solution approach is used in view of its advantages in treating polygonal shape-induced difficulties.
The potential-based penalty function approach [28] provides a robust framework for contact force computation of two contacting bodies. Some recent improvements include the redefined potential function for triangles with clear physical meaning [49], the improved distance potential for convex polygons [56], concave polygons [7] and convex polyhedra [57], the potential traction based on triangle meshes [47] and tetrahedral element [48], robust potential function for irregular polyhedra [65], and the smooth contact algorithm [17]. In this paper, the original contact potential-based penalty function method [28] is improved to be suitable for polygons with small edges, small angles, or small faces. The improvement originates from the basic idea “a penetrated point in a polygon will be pushed out along the shortest path.” On this basis, a new contact potential function is defined and a novel contact force computation approach is proposed, including the geometrical associated algorithms of overlap examination and intersection polygon construction, and the physical associated approach to compute the contact force with a numerical integral scheme.
This paper begins with the formulation of the explicit DDA approach based on explicit representation of contact force. Then, the improvements on the potential function methods and the computation of contact force (normal forces and tangential forces) are introduced, with particular focus on some key algorithms in contact detection and contact force computation process. The accuracy and robustness of the improved approach are verified by benchmarking contact scenarios, and its potential in kinetic analysis of complex block systems is further investigated by the application examples. A summary of the proposed approach is given in the last section.
2 Explicit solution approach based on potential contact force
The contact force-based solution approach is applied in the original framework of two-dimensional discontinuous deformation analysis. The displacement function, equation of motion, and stepwise solution procedure with the explicit formulation are briefly introduced.
2.1 Displacement function
The linear displacement assumption in original DDA program is still applied in this paper. The displacement \(\varvec{u}_{p} \left( {x_{p} ,y_{p} } \right)\) of point \(p\) in block \(i\) is computed by
where \({\mathbf{T}}_{i} \left( {x_{p} ,y_{p} } \right)\) is a transform matrix similar to the shape function matrix with dimensions of \(2 \times 6\) and \(\varvec{d}_{i}\) is the degree of freedom in terms of block centroid displacement and block constant strain. \(\varvec{d}_{i}\) is represented by
where \(u_{o} , v_{o} , r_{o}\) are block centroid translation along axes \(ox\) and \(oy\); \(r_{o}\) is rotation angle about axes \(oz\); and \(\varepsilon_{x} , \varepsilon_{y}\) and \(\gamma_{xy}\) are the constant normal and shear strain. The transform matrix \({\mathbf{T}}_{i} \left( {x_{p} ,y_{p} } \right)\) is computed by
where \(x_{t} = x_{p} - x_{o}\), \(y_{t} = y_{p} - y_{o}\), and \(\left( {x_{o} ,y_{o} } \right)\) denotes the centroid coordinate of block \(i\).
2.2 Equation of motion
Kinematics and dynamics of a block/particle system are characterized by the contact interaction mechanism of discrete bodies. The kinetic properties of a deformable block/particle can be described by the equation of motion, which can be established by minimizing the potential energy [4, 33],
where \({\mathbf{M}}_{i}\), \({\mathbf{C}}_{i}\), \({\mathbf{K}}_{i}\), and \(\varvec{F}_{i}\) represent the mass matrix, damping matrix, stiffness matrix, and force vectors of block \(i\); the dimension of the matrix and vectors are \(6 \times 6\) and \(6 \times 1\) respectively; and \(\dot{\varvec{d}}_{i}\), \(\ddot{\varvec{d}}_{i}\) are the first-order and second-order derivative of the unknown vector \(\varvec{d}_{i}\).
\({\mathbf{M}}_{i}\), \({\mathbf{C}}_{i}\), and \({\mathbf{K}}_{i}\) can be obtained by the following integral format,
where \({\mathbf{T}}_{i}\) is the transform matrix as in Eq. (3); \({\mathbf{E}}\) is the elastic stiffness matrix; and \(\alpha\) and \(\beta\) are two coefficients associated with the damping proportional to the mass and stiff terms. \(\varvec{F}_{i}\) includes all external forces (e.g., point force, surface stress), contact force vectors, and initial stress force vectors. Details of the above matrix can refer to [33].
2.3 An explicit approach
The global equation of motion of a block system can be established by minimizing the global potential energy function that includes the contact potential energy with the penalty function format [64]. The original DDA uses an implicit time integration approach to solve the global equation of motion, which needs to solve the global matrix each step [15]. In addition, some explicit time integration approaches that directly use contact forces to solve Eq. (4) for each block separately are also proposed [7, 25, 30, 47, 51, 64]. For the computation of incremental displacement from time \(t_{n}\) to \(t_{n + 1}\), the velocity Verlet approach [51] solves Eq. (4) at \(t_{n}\) and use the obtained acceleration term to compute the incremental displacement; the predictor–corrector approach and its modified version [64] solve Eq. (4) at \(t_{n + 1}\) with a predicted contact force and then correct the incremental displacement; and the direct approach solves Eq. (4) at \(t_{n + 1}\) with the contact force obtained at \(t_{n}\) using the either the Newmark integration approach [30, 47] or generalized-α approach [7]. A comprehensive comparison of the velocity Verlet approach, constant acceleration integration approach, and the predictor–corrector solution approach can be found in [16, 64].
In this paper, the velocity Verlet approach [32, 51] is used for time integration of the equation of motion. For the analysis of the physical process from time \(t_{n}\) to \(t_{n + 1} \left( { = t_{n} + h} \right)\), recall Eq. (4) at \(t_{n}\),
where \({\mathbf{K}}_{i} \varvec{d}_{i}^{n}\) in Eq. (4) is added to \(\varvec{F}_{i}^{n}\) with the vector format of step initial stress. In this paper, \({\mathbf{C}}_{i} \dot{\varvec{d}}_{i}^{n}\) is not considered and details of the coefficient choice can refer to [14]. The acceleration term, \(\ddot{\varvec{d}}_{i}^{n}\), can be obtained by solving Eq. (6); the velocity at \(t_{n + 1/2} \left( { = t_{n} + h/2} \right)\) can be can be computed by
The incremental displacement in this step can be obtained by
Note that the model configuration is updated each step and \(\varvec{d}_{i}^{n}\) in Eq. (8) becomes zero automatically.
Given the Initial condition and boundary conditions, the deformation and displacement of a discrete body system can be obtained stepwise using Eqs. (6–8). In this paper, the focus is given on the formulation of contact force and its contribution to force term \(\varvec{F}_{i}^{n}\) in Eq. (6).
3 The improved potential-based contact approach
The concept of “contact potential” is initially proposed by [28] in their work on penalty function method for combined finite-discrete element method, and it is used for contact force computation among triangles and tetrahedrons. The definition of potential has been improved for triangles [49], convex polygons [56], convex polyhedra [57], concave polygons [7], and irregular polyhedra [65]. The finite element topology was also applied to construct a smooth potential field in FDEM simulations [17]. However, it still lacks a unified and robust definition for polygonal shapes when irregular shapes (such as small angles and small edges) are encountered. To overcome these shortcomings, an improved potential definition is proposed and the work is detailed in this section.
The contact solution procedure in explicit solution approach can be conducted with two steps: (1) a contact detection step to judge the body overlap and to construct the intersection shape, and (2) a force computation step to obtain the contact force based on the intersection shape and the body potential. The improvement toward these two steps is detailed in Sects. 3.1 and 3.2, respectively. Moreover, a solution procedure for contacts of polygons and boundaries is discussed in Sect. 3.3.
3.1 Detection of contact
The first step of a contact solution procedure is the judgment of contact states and extraction of the geometrical information. For the proposed model, it consists of a three-sub-step procedure: (1) neighbor search; (2) overlap examination; and (3) intersection polyhedron construction.
3.1.1 Neighbor search
This is a common phase for all kinds of approaches that need to solve contacts of discrete body assembly. In this phase, a neighbor body list will be established for each discrete body. The efficiency of this detection phase becomes significantly important with increasing body numbers. Many algorithms have been published to enhance the computational efficiency in neighbor search process, such as the grid-based searching algorithm [2], the no-binary search algorithms [27] for discrete bodies of similar sizes, the double-ended spatial sorting algorithm [31], the CGrid algorithm [41] for discrete bodies of various sizes, and the multi-shell cover algorithm for polyhedra [39, 44]. The neighbor search algorithm should be chosen according to the distribution feature of the discrete body system.
3.1.2 Overlap examination
Although some polygons are marked as neighbor pairs after detection of neighbor block pair, they may not contact at the current configuration. Overlap examination is a detection step to exclude the neighbor polygon pairs that are near but no-in-contact. The next step to compute the intersection polygon will only be triggered if overlap occurs for a neighbor polygon pair.
Overlap checking of two close bodies is a typical topic in computational graphics and discontinuous computation methods. It is essentially, from a mathematical view, relationship judgment of two sets. This judgment can be simplified with the concept of entrance blocks [35]. The overlap judgment of two polygons can be simplified into the examination of a chosen reference point and their entrance block. For two polygons termed as polygon \(A\) and polygon \(B\), choosing the centroid of polygon \(A\) as the reference point \(a_{o}\), the entrance block \(E\left( {a,b} \right)\) is defined by
It has been proofed that the entrance block of two convex polygons is still convex polygons [35]. Overlap status of two convex polygons \(A\) and \(B\) can be judged by a point-in-polygon examination using reference point \(a_{0}\) and entrance block \(E\left( {A,B} \right)\).
The overlap examination is proceeded in two steps. The first step is to obtain the boundaries of the entrance block that formed by an entrance block computation of the vertices and edges from \(A\) and \(B\), respectively. In this step, some vertex-edge pairs that do not form valid entrance candidate [61] will be omitted. Algorithm detail of this step is shown in Table 1. The second step is to judge if the reference point is inside the entrance block. If \(a_{o}\) is in \(E\left( {A,B} \right)\), overlap occurs; if \(a_{o}\) is out of \(E\left( {A,B} \right)\), two blocks are detached. Details of the algorithm are shown in Table 2.
An example to check overlap of two convex polygons is shown in Fig. 1. In this example, block B is fixed, and position of block \(A_{2}\) is obtained by translating \(A_{1}\). \(E\left( {A_{1} ,B} \right) = E\left( {A_{2} ,B} \right)\) when the centroids \(\varvec{c}_{1}\) and \(\varvec{c}_{2}\) of polygon \(A_{1}\) and \(A_{1}\) are used as the reference point. As illustrated in Fig. 1, \(\varvec{c}_{1} \notin E\left( {A_{1} ,B} \right)\) equal to \(A_{1} \cap B = \emptyset\), while \(\varvec{c}_{2} \in E\left( {A_{2} ,B} \right)\) equal to \(A_{2} \cap B \ne \emptyset\).
3.1.3 Intersection computation
The intersection polygon (IP) will be constructed if overlap of two polygons occurs. As it is prior known that the intersection polygon of two convex polygons is still convex, a simple polygon cutting algorithm can be used to construct the intersection polygon. The two blocks from the neighbor block pair are termed as contact polygon (CP) and target polygon (TP), respectively. The lines extended from each edges of CP will be cycled to cut the TP, and in each cycle the newly generated polygon that locates at the half space below the cutting line will be stored for further operation. This cutting process is illustrated in Fig. 2. After the cycling of each CP edges, the remaining polygon is IP. Details of the algorithm are shown in Table 3.
3.2 Formulation of contact force
3.2.1 Potential contact force
For a neighbor polygon pair, choosing anyone as the contact polygon (CP), the remaining one is the target polygon (TP). If overlap of CP and TP occurs, their intersection forms the intersection polygon (IP). As shown in Fig. 3, the global normal contact force \(\varvec{f}_{\text{CP}}^{\text{ng}}\) acting on CP can be computed by integrating \(d\varvec{f}_{\text{CP}}^{n}\) on IP,
where \(\varphi_{\text{CP}}\) and \(\varphi_{\text{TP}}\) are the potential functions for the CP and TP, respectively; \(S_{\text{IP}}\) denotes the area of IP. The global contact force \(\varvec{f}_{\text{TP}}^{\text{ng}}\) on TP has the same magnitude and opposite direction compared to \(\varvec{f}_{\text{CP}}^{\text{ng}}\). As \(\varphi_{\text{CP}}\) and \(\varphi_{\text{TP}}\) are continuous functions, the contact force \(\varvec{f}_{\text{CP}}^{\text{ng}}\) can be equivalently computed by the integral over the IP boundary \(L_{\text{IP}}\) [28],
where \(\varvec{n}_{\text{IP}}\) denotes the unit normal vector of a boundary integral point that point outside of IP.
3.2.2 New potential function definition
In analysis of a rock block system or a mineral particle assembly, there might be irregular polygons with edges or angles smaller than a characteristic value. These irregular shapes can cause inaccuracy, inefficiency, or errors in some existing contact solution approaches. Specially, for the potential-based contact solution approaches, there still lack a robust potential function definition for arbitrarily shaped polygons with above-mentioned irregular shapes. A new definition of potential function is proposed in this section, and the results are compared with previous approaches [56].
In this paper, the potential function for a polygon is redefined based on the concept “a point penetrated in a polygon will always be pushed out along the shortest path.” For a point belonging to a polygon, once the shortest distance \(d_{\text{exit}}\) to exit a polygon is determined, the potential at that position can be obtained. The potential of a point \(p\) in a polygon \(\varOmega_{\text{b}}\) is defined as
where \(k_{\text{n}}\) is the normal penalty parameter; \(H\) is a unit length value that can be set to average length of all polygon edges of the assembly; \(d_{\text{exit}}\) is the shortest distance for point \(p\) to exit polygon \(\varOmega_{\text{b}}\). To keep energy conservation in contact, the potential values of any points on polygon boundary should be equal and the definition satisfies this requirement.
Equation (12) gives the potential function definition of both convex and concave polygons. As the potential function values in IP will be used for computation of contact force, the difficulty lies in how to obtain the distribution of the potential function in an arbitrarily shaped polygon. Munjiza and Andrew [28], Yan and Zheng [49], and Xu et al. [47] show the computation of potential function values in a triangle. Zhao et al. [56] give the computation methods for potential function of convex polygon based on the subdivision strategy. Fan et al. [7] give the computation of potential function for arbitrarily shaped polygon based on the classification of contact type. However, these definition and computation approach may lead to robustness problem or inaccuracy when polygon with small angles or small edges is involved in the block assembly.
Using this definition for convex polygons, the shortest distance \(d_{\text{st}}\) can be obtained by
where \(e_{i}\) represent boundary edge \(i\) of the polygon \(\varOmega_{\text{b}}\); \(p\) is the point whose potential value is to be computed; and \(d_{{e_{i} p}}\) is the perpendicular distance of point \(p\) to boundary edge \(e_{i}\). Assume \(\varvec{x}_{p}\) and \(\varvec{x}_{ei}\) are the coordinate vectors of point \(p\) and an arbitrary point on \(e_{i}\), \(\varvec{n}_{ei}\) is the unit normal vector of \(e_{i}\) that points outwards of \(\varOmega_{\text{b}}\), and \(d_{{e_{i} p}}\) can be computed by
The potential of a point in a convex polygon can be computed conveniently using the proposed definition in Eqs. (12)–(14), even for irregular shapes with small edges or small angles. Additionally, with the same \(H\) value in the potential computation of each polygon, it ensures the contact potential of the points with the same penetrations keeps equal. Figures 4 and 5 show some examples of the potential distribution in polygons. In these examples, \(k_{\text{n}} = 1\;{\text{Pa}}\) and \(H = 1\;{\text{m}}\). Figure 4 shows the comparison of the potential distribution in a polygon with small edges with the proposed function (12) and the previous definition [56]. For a polygon with small edges, there would be a large inner part without a valid potential definition when the previous definition is used. This problem may become significant when relatively large penetration is allowed in analysis of a block system with irregular polygonal shapes. By contrast, the proposed definition ensures the potential value can be obtained for each point inside a polygon.
In Fig. 5, the potential distribution in a concave polygon using the definition of (12) is shown. This distribution is obtained by decomposing the concave polygon into six convex ones by demarcation lines. However, this paper focuses on convex shapes and decomposition of an arbitrarily shaped concave polygon is beyond our scope.
3.2.3 Numerical integral segments
With the definition in Eq. (12), the distribution of potential value on boundary edges of IP is piecewise linear. The key issue for the integral of Eq. (11) is to find all demarcation points which divide the potential field along an edge into several linear distribution pieces. If the all demarcation points on an edge is obtained, the integral of potential on an edge can be computed accurately piece by piece. Then, the total contact force can be obtained by adding the accumulated force vectors of all IP edges.
The effects of small edges are considered in this paper. If the length of a CP or TP edge is smaller than a specified tolerance, a virtual polygon node will be generated by intersecting the two bisection projection lines of the two angles neighboring the small edge. Both the real nodes and virtual nodes of CP or TP are used in locating the demarcation points.
The potential demarcation points on a boundary edge of IP are obtained as follows:
-
(1)
The beginning, ending, and central point of the IP edge are chosen as initial demarcation points.
-
(2)
If the centroid point is on boundary of CP, the potential values of points \(\varphi_{\text{CP}}\) along the edge are all zero and go to step (3); if the centroid point is not on boundary of CP, the intersection points of the edge and the rays of angle bisector starting from CP nodes and CP virtual nodes will be added.
-
(3)
If the centroid point is on boundary of TP, the potential values of points \(\varphi_{\text{TP}}\) along the edge are all zero and go to step (4); if the centroid point is not on boundary of TP, the intersection points of the edge and the rays of angle bisector starting from TP nodes and TP virtual nodes will be added.
-
(4)
All points obtained from steps (1) to (3) will be sorted from the beginning to the ending of the IP edge.
Figure 6 illustrates the demarcation points computation process of an IP edge corresponding to a polygon (either CP or TP). If the polygon is CP, the demarcation points include beginning, central, and ending points of the edge, and all intersection points of the edge and rays of angle bisector starting from nodes or virtual nodes of CP. After locating all demarcation points, the edge will be naturally divided into several integral segments.
3.2.4 Formulation of normal force
If boundary edge \(e_{i}\) of IP are discretized into \(sn\) segments with index \(sk = 1,2, \ldots ,sn\), the integral of normal contact force on edge \(e_{i}\) can be computed by
Assume points \(p_{a}\) and \(p_{b}\) are the two ending points of segment \(sk\). As the potential is linearly distributed along segment \(sk\), the integral of potential force on \(sk\) can be computed by
where \(f_{a} = \varphi_{\text{CP}} \left( {p_{a} } \right) - \varphi_{\text{TP}} \left( {p_{a} } \right)\); \(f_{b} = \varphi_{\text{CP}} \left( {p_{b} } \right) - \varphi_{\text{TP}} \left( {p_{b} } \right)\); \(L_{sk}\) is the length of segment \(sk\). Meanwhile, the coordinate vector \(\varvec{p}_{k} = \left( {x_{k} ,y_{k} } \right)\) of the loading point \(p_{k}\) on segment \(sk\) can be obtained by
where \(\varvec{p}_{a}\) and \(\varvec{p}_{b}\) are the coordinate vector of point \(p_{a}\) and \(p_{b}\), respectively.
The distributed normal contact force can be equivalently represented by a total normal contact force \(\varvec{f}_{\text{CP}}^{\text{ng}}\),
where \(ei\) indexing the contact force \(\varvec{f}_{ei}^{n}\) of edge \(e_{i}\) and \(en\) is the total number of IP boundary edges; \(sk\) indexing the contact force \(\varvec{f}_{sk}^{n}\) of segment \(sk\) and \(sn\) is the total number of segments on edge \(e_{i}\). The unit contact normal vector \(\varvec{n}^{g}\) of \(\varvec{f}_{\text{CP}}^{\text{ng}}\) can be obtained by
If \(\varvec{p}_{m} = \left( {x_{m} ,y_{m} } \right)\) is a point on the acting line \(l^{ng}\) along which the moment of total normal contact force is zero, it satisfies the moment balance equation along axes \(oz\),
where \(f_{k}^{nx}\), \(f_{k}^{ny}\) represent components along \(ox\) and \(oy\) direction of the normal force on segment \(sk\); \(snn\) is the total segment number of the IP boundary. \(\left( {x_{k} ,y_{k} } \right)\) is the coordinate of contact force \(\varvec{f}_{sk}^{n}\).
The loading point \(\varvec{p}_{\text{g}} = \left( {x_{\text{g}} ,y_{\text{g}} } \right)\) of the global normal contact force is obtained as follows: (1) an auxiliary line \(l^{\text{tg}}\) that passes the IP centroid and perpendicular to acting line \(l^{\text{ng}}\) is created; (2) the intersection point of the auxiliary line \(l^{\text{tg}}\) and the acting line \(l^{\text{ng}}\) is chosen as the contact point of global normal contact force and global tangential contact force. The normal contact force works along \(l^{\text{ng}}\), while the tangential contact force works along line \(l^{\text{tg}}\).
Recall the formulation of equation of motion using the potential energy format, and based on the block frame at the beginning of the step, the potential energy of the contact force for CP can be represented by
For CP, the contribution of the contact force to the force terms \(\varvec{F}_{i}^{n}\) in Eq. (6) is
Similarly, for TP, the contribution of contact force \(\varvec{f}_{\text{TP}}^{\text{ng}}\) to \(\varvec{F}_{i}^{n}\) is
3.2.5 Formulation of tangential force
The global tangential contact force is represented in a global format, and Coulomb friction law is used to differentiate the stick and sliding states of two contacting polygon. For a block pair CP and TP, the accumulated relative displacement \(\varvec{\delta}\) will be recorded. Stick status is assumed if they come into contact initially in a step and \(\varvec{\delta}\) at that instant is set to zero.
The normal and tangential components of \(\varvec{\delta}\) are named \(\varvec{\delta}_{\text{nor}}\) and \(\varvec{\delta}_{ \tan }\), and the relative sliding direction is \(\varvec{\tau}\). At instant \(t_{n}\), for a contact pair with stick status in previous step (from \(t_{n - 1}\) to \(t_{n}\)), \(\varvec{\delta}_{\text{nor}}^{n}\), \(\varvec{\delta}_{ \tan }^{n}\), and \(\varvec{\tau}^{n}\) are determined by
The tangential contact force \(\varvec{f}_{\text{CP}}^{\text{tg}}\) for CP is obtained by
where \(\phi\) represents the frictional angle; \(k_{\tan }\) is the tangential penalty value.
At instant \(t_{n}\), for a contact pair with sliding status in previous step (from \(t_{n - 1}\) to \(t_{n}\)), Eq. (24) is still applied for computation of \(\varvec{\delta}_{\text{nor}}^{n}\), \(\varvec{\delta}_{\tan }^{n}\), and \(\varvec{\tau}^{n}\). Assume the frictional force for CP at \(t_{n - 1}\) is \(\varvec{f}_{n - 1}^{\text{tg}}\), the tangential contact force \(\varvec{f}_{\text{CP}}^{\text{tg}}\) for CP at \(t_{n}\) is obtained by
Based on the frame at \(t_{n}\), the potential energy contributed by tangential contact force for CP is
For CP, The contribution of tangent contact force \(\varvec{f}_{\text{CP}}^{\text{tg}}\) to the global force \(\varvec{F}_{i}^{n}\) is
For TP, the tangential force \(\varvec{f}_{\text{TP}}^{\text{tg}} = - \varvec{f}_{\text{CP}}^{\text{tg}}\). Similarly, the contribution of tangential contact force \(\varvec{f}_{\text{TP}}^{\text{tg}}\) to global force \(\varvec{F}_{i}^{n}\) is
If the contact status at instant \(t\) is sliding, \(\varvec{\delta}_{t}\) will also be set to zero.
3.2.6 Contact information update
For process from \(t_{n}\) to \(t_{n + 1}\), once the incremental displacement \(\varvec{d}_{i}\) for each block is obtained, the incremental displacement \(\Delta \varvec{u}_{\text{CP}}^{\text{g}}\) and \(\Delta \varvec{u}_{\text{TP}}^{\text{g}}\) for contact point \(\varvec{p}_{\text{g}}\) in CP and TP can be computed, and the incremental relative displacement \(\Delta\varvec{\delta}^{n} = \Delta \varvec{u}_{\text{CP}}^{\text{g}} - \Delta \varvec{u}_{\text{TP}}^{\text{g}}\). The accumulation of relative movement can also be updated. For stick contact pairs at \(t_{n}\), the accumulated relative displacement at \(t_{n + 1}\) \(\varvec{\delta}^{n + 1} =\varvec{\delta}^{n} + \Delta\varvec{\delta}^{n}\); for sliding contact pairs at \(t_{n}\), the accumulated relative displacement at \(t_{n + 1}\) \(\varvec{\delta}^{n + 1} = \Delta\varvec{\delta}^{n}\).
3.3 Polygon-boundary contact
Contact of polygon and model boundary needs to be considered in some simulations. Two kinds of boundary conditions are used in current models. The first kind of boundary is the usage of virtual polygons. These virtual polygons are involved in contact detection, while their displacement and deformation are not updated. The second kind is boundary lines and segments. Similarly, these lines and segments are regarded as parts of some virtual polygon boundaries and contact of polygon and lines are treated as contacts of polygons.
4 Verification of collision and frictional problems
In this section, the accuracy of the proposed contact solution approach for collision and frictional sliding problems is verified.
4.1 Collision of two identical polygons
In this example, collision process of two identical quadrilateral blocks was simulated using the proposed approach. Two square blocks with an edge length of 1 m are established, and their centroid is in a same line along \(ox\) axes, as shown in Fig. 7. The block on the left side is named block \(A\), while the block on the right side is named block \(B\). Centroid of block \(A\) has an initial velocity of \(1\;{\text{m/s}}\) along \(ox\) direction, while block \(B\) is static. The parameters for block physics and contact are shown in Table 4. The velocity of block centroid along ox direction is tracked, and the velocity change with time is shown in Fig. 8. It can be seen that the two blocks exchange their kinetic energy during the collision process and the results satisfy the conservation of momentum.
4.2 Collision of a polygon and a symmetric polygonal system
In this example, the collision process of a block and a symmetric block system was investigated with the proposed approach. Figure 9 shows details of the model geometry. The model geometry is symmetric regarding the \(oy\) axes passing the centroid of the top block. It can be predicted the block system will move in a symmetric way during the collision process. The parameters used in simulation are shown in Table 4. The model geometry and block velocity during the collision process are shown in Fig. 10. The movements of all block centroids were tracked during the simulation, and their traces are shown in Fig. 10. The symmetric response of the block system verifies the correctness of the proposed contact solution approach.
4.3 Sliding block on an inclined plane
In this example, the accuracy of the proposed algorithm for computation of block sliding displacement on an inclined plane is investigated. The model is shown in Fig. 11. Block \(B\) can slide along the inclined plane of block \(A\) if the friction angle \(\phi\) is smaller than the inclined angle \(\theta\). If the initial velocity of \(B\) is zero, its sliding displacement \(l\) along the inclined plane can be computed analytically by
This example is computed by the proposed approach with the parameters shown in Table 4. The values of friction angle \(\phi = 0^\circ ,10^\circ ,20^\circ\) are used to test the accuracy of the numerical approach. The time–displacement curves under various friction angle are shown in Fig. 12. Good agreements are obtained for numerical results and analytical results.
5 Robustness test examples
In this section, the robustness of the proposed contact solution approach in kinetic analysis of block system with various polyhedral shapes is tested and analyzed by several benchmarking examples. The physical parameters in simulation examples in Sect. 5 are shown in Table 5.
5.1 Collision of polygons with different sizes
In this example, the bouncing block model with various block sizes was tested to show the necessity of using unified \(H\) value in potential definition (12). Two cases are designed with different fixed block sizes, as shown in Fig. 13. In this model, block \(A\) will fall freely and bouncing back after colliding block \(B\). In case 1, the height of \(B\) is 0.1 m while its height 1 m in case 2. Two kinds of \(H\) values are used in the model. The approach using inscribed circle radius as \(H\) value is named previous approach, while current approach uses a unified \(H\) value as the average of largest and smallest edge length. The physical parameters used in the simulation are shown in Table 5. The accumulated displacement of A’s centroid along \(oy\) direction is tracked, and the time–displacement curves of previous and current approaches for case 1 and case 2 are shown in Fig. 14. When blocks of different sizes are used as model boundaries, the block interaction process should not be influenced by their sizes. The results in Fig. 14 show the current approach using a unified \(H\) value lead to very similar block bouncing response. By contrast, the previous approach uses inscribed circle radius as \(H\) values lead to significantly different block bouncing response for these two testing cases.
5.2 Polygon with small angles
In this example, collision of polygons with small angles was tested. Two identical triangles with a small angle of \(5^\circ\) are generated, as shown in Fig. 15. The two triangles move upwards and downwards, respectively, with an initial velocity of 1 m/s. The collision process is modeled by the proposed approach with the parameters shown in Table 5. The two angle end points and polygon centroid are tracked to show the collision process, and the final configuration after 0.2 s is shown in Fig. 16. The result shows the two triangles move symmetrically regarding the collision centroid, verifying both the accuracy and robustness of the proposed approach in treating small angles.
5.3 Polygon with small edges
In this example, collision of polygons with small edges was tested. Two polygons are generated and the bottom block has a small edge of 0.01 m compared to the typical block size scale around 1 m. For this case, when block penetrations around 0.01 m is allowed in the computation, part of the intersection polygon may locate to the inner parts without potential function definition when previous approach [56] is applied. This will cause the routine errors or inaccuracy of the computation. By contrast, these robustness issues are eliminated using the proposed approach with new potential function definition.
In this example, two model configurations are considered, as shown in Fig. 17. For the configuration in Fig. 17a, the vertex from the upper block will touch the small edge. For the configuration in Fig. 17b, the vertex of the upper block will touch the right edges neighboring the small edge. The physical parameters in simulations are shown in Table 5. The configurations after 0.2 s are shown in Fig. 18a, b for the two cases in Fig. 17a, b. The tracing of contacting vertex is also shown in Fig. 18. The results show the proposed approach can treat contacts of small edges with good robustness.
6 Application examples
The stability of rock structures on the earth surfaces is controlled by the geometrical and physical properties of the discontinuities. Numerical tools are commonly used for analysis of the stability of rock structures or evaluation of the failure process of rock masses. In this section, two models are specially designed and analyzed using the proposed approach to show the potential of the proposed approach in application of rock mechanics problems.
6.1 Frictional collapse of a rock mass system
One common application scenario of the numerical tools is the evaluation of collapse process of rock masses, such as the runout of rock avalanche and the impact of landslide to downstream structures or rivers. In this example, the proposed approach is used to investigate the influence of frictional properties on the collapse process of a rock block system. A jointed rock mass model is established as shown in Fig. 19. The region has dimensions of \(20\;{\text{m}} \times 50\;{\text{m}}\). Two sets of persistent joints cut this region into a rock block system. Dips and spacing of the two joints sets are \(80^\circ\) and \(40^\circ\), \(1.5\;{\text{m}}\) and \(2.5\;{\text{m}}\). It can be predicted that this block system will collapse with combination of joint geometry and low joint friction angle. The friction angle between rock blocks and boundary blocks is set to \(35^\circ\). Two values are used for the friction angle between rock blocks: case 1: \(15^\circ\); case 2: \(30^\circ\). Other physical parameters are as follows: block density 2700 \({\text{kg/m}}^{3}\); elastic modulus \(2\;{\text{GPa}}\); Poisson’s ratio \(0.3\); normal contact penalty \(2\;{\text{GPa}}\); tangential contact penalty \(1 \times 10^{9} \;{\text{N/m}}\); time step size \(0.0001\;{\text{s}}\); and total simulation time \(7.5\;{\text{s}}\). Comparison of the simulation results at \(2.5\;{\text{s}}\), \(5.0\;{\text{s}}\), and \(7.5\;{\text{s}}\) using different joint friction angles (case 1 of \(15^\circ\) and case 2 of \(30^\circ\)) is shown in Fig. 20. A faster collapsing process and a larger runout mass were observed with lower friction angle. This example shows the proposed approach has potential in simulation of runout and movement for block systems with complex polygon shapes.
6.2 Rock toppling and rock slumping
Another common application of numerical tools is to predict the potential kinetic failure pattern of rock slopes with certain physical parameters and geometrical patterns. In this example, the previous example [36] that involves both toppling and slumping simultaneously is used to show the accuracy of proposed approach in predicting the slope failure patterns. The model is shown in Fig. 21. The rock slopes in a valley region are cut by a joint set with dip angle of \(75^\circ\) and spacing of \(3\;{\text{m}}\), and there is a sliding base with an inclined angle of \(30^\circ\). The friction angle between the sliding base and the slope block is set to \(32^\circ\), indicating that both the left slope and right slope will keep stable as one unique block. However, influenced by the joint set with a friction angle of \(22^\circ\), the stable condition of both the left part and the right part will be broken. The left part will fail in slumping pattern, while the right part will fail with toppling pattern. Successful capture of simultaneous toppling and slumping behavior can verify the feasibility of the approach in modeling complex landslide behaviors. The above two-dimensional model and the extended three-dimensional models have been used in verifications of discrete element approach [10] and discontinuous deformation analysis approach [63, 65]. In this paper, the model is simulated with the proposed approach using the following parameters: block density 2700 \({\text{kg/m}}^{3}\); elastic modulus \(2\;{\text{GPa}}\); Poisson’s ratio \(0.3\); normal contact penalty \(0.5\;{\text{GPa}}\); tangential contact penalty \(1 \times 10^{8} \;{\text{N/m}}\); time step size \(0.0001\;{\text{s}}\); total simulation time \(3.5\;{\text{s}}\). The result after 3.5 s simulation is shown in Fig. 22. The proposed approach correctly predicted the slumping and toppling failure pattern. This shows the potential of the proposed approach in analysis of the stability analysis of rock block systems.
7 Conclusion
In this paper, the penalty function method with a shortest-path-based distance potential definition is proposed for contact force computation of two arbitrarily shaped convex polygons. This novel approach extended the definition of potential function for convex polygons and exhibit good robustness in treating irregular convex polygonal shapes. Currently, the proposed contact force computation approach is implemented in DDA framework with explicit representation of contact force. The contribution of this paper to discontinuous deformation analysis of convex polygon system is summarized as follows:
-
(1)
The boundary of entrance block is used to judge convex polygon overlap and detailed algorithm is given. A simple block cutting algorithm is also proposed to construct the intersection polygon when overlap occurs. These algorithms facilitate accurate and robust geometry analysis in contact of convex polygons.
-
(2)
The novel potential function definition for polygon lays a foundation for robust contact solution of irregular polygons. Specially for convex polygons, a simple algorithm is given for the computation of contact potential of any points in it. An integral approach is proposed for computation of contact force based on the subdivision of edges of intersection polygon.
-
(3)
Formulations of normal and tangential contact force in an explicit DDA framework are given, and the accuracy of the proposed approach for collision and frictional problems is verified.
The accuracy and robustness of the proposed approach are verified by the benchmarking examples. Moreover, its potential in kinetic analysis of complex polygonal block systems is shown by the two application examples. These advantages will promote the application of the proposed approach in any discontinuous methods that solve the interaction of discrete bodies with explicit representation of contact force.
Abbreviations
- \(\varvec{u}_{p}\) :
-
Displacement of point \(p\) in a block
- \(x_{p} ,y_{p}\) :
-
Coordinate of point \(p\)
- \(x_{o} ,y_{o}\) :
-
Coordinate of block centroid
- \(u_{o} , v_{o}\) :
-
Translation of block centroid \(o\) along axes \(ox\) and \(oy\)
- \(r_{o}\) :
-
Block rotation angle about axed \(oz\)
- \(\varepsilon_{x} , \varepsilon_{y} ,\gamma_{xy}\) :
-
Constant normal and shear strain of a block
- \({\mathbf{T}}_{i} \left( {x_{p} ,y_{p} } \right)\) :
-
\(2 \times 6\) transform matrix of point \(p\) in block \(i\)
- \(t_{n}\) :
-
Beginning of step \(n\)
- \(t_{n + 1}\) :
-
Ending of step \(n\)
- \(t_{n + 1/2}\) :
-
Half step instant of step \(n\)
- \(t_{n - 1/2}\) :
-
Half step instant of step \(n - 1\)
- \(h\) :
-
Time step size of step \(n\)
- \(\varvec{d}_{i}\) :
-
Displacement vector of degree of freedom for block \(i\)
- \(\Delta \varvec{d}_{i}^{n}\) :
-
Incremental displacement vector for block \(i\) at step \(n\)
- \(\dot{\varvec{d}}_{i}\) :
-
Velocity vector of degree of freedom for block \(i\)
- \(\dot{\varvec{d}}_{i}^{n - 1/2}\) :
-
Velocity vector for block \(i\) at half step of step \(n - 1\)
- \(\dot{\varvec{d}}_{i}^{n}\) :
-
Velocity vector for block \(i\) at beginning of step \(n\)
- \(\dot{\varvec{d}}_{i}^{n + 1/2}\) :
-
Velocity vector for block \(i\) at half step of step \(n\)
- \(\ddot{\varvec{d}}_{i}\) :
-
Acceleration vector of degree of freedom for block \(i\)
- \(\ddot{\varvec{d}}_{i}^{n}\) :
-
Acceleration vector for block \(i\) at beginning of step n
- \({\mathbf{M}}_{i}\) :
-
Mass matrix of block \(i\)
- \({\mathbf{C}}_{i}\) :
-
Damping matrix of block \(i\)
- \({\mathbf{K}}_{i}\) :
-
Elastic stiffness matrix of block \(i\)
- \(\varvec{F}_{i}\) :
-
Force vector of block \(i\)
- \(\varvec{F}_{i}^{n}\) :
-
Force vector of block \(i\) at beginning of step \(n\)
- \(\varvec{F}_{\text{CP}}^{n}\) :
-
Force vector of contact polygon at beginning of step \(n\)
- \(\varvec{F}_{\text{TP}}^{n}\) :
-
Force vector of target polygon at beginning of step \(n\)
- \(\rho\) :
-
Block density (kg/m3)
- E :
-
Block elastic modulus (Pa)
- μ :
-
Block Poisson’s ratio
- \(\alpha\) :
-
Damping coefficient proportional to block mass
- \(\beta\) :
-
Damping coefficient proportional to block stiffness
- \(A\) :
-
Block A
- \(B\) :
-
Block B
- \(E\left( {A,B} \right)\) :
-
Entrance block of \(A\) and \(B\)
- \(\varvec{a}_{0}\) :
-
A reference point
- \(\varvec{p}_{vi}\) :
-
Coordinate vector of a node \(i\)
- \(\varvec{v}_{ie}\) :
-
Vector of edges beginning from node \(i\)
- \(\varvec{p}_{ej}\) :
-
Coordinate vector of a point on edge \(j\)
- \(\varvec{n}_{ej}\) :
-
Unit out normal vector of edge \(j\)
- CP:
-
Contact polygon
- TP:
-
Target polygon
- IP:
-
Intersection polygon
- \(\varphi_{\text{CP}}\) :
-
Potential function of contact polygon
- \(\varphi_{\text{TP}}\) :
-
Potential function of target polygon
- \(\nabla \varphi_{\text{CP}}\) :
-
Gradient of potential function for contact polygon
- \(\nabla \varphi_{\text{TP}}\) :
-
Gradient of potential function for target polygon
- \(\varvec{f}_{\text{CP}}^{\text{ng}}\) :
-
Global normal contact force on contact polygon
- \(\varvec{f}_{\text{TP}}^{\text{ng}}\) :
-
Global normal contact force on target polygon
- \(S_{\text{IP}}\) :
-
Area of intersection polygon
- \(L_{\text{IP}}\) :
-
Boundary of intersection polygon
- \(\varvec{n}_{\text{IP}}\) :
-
Unit normal vector of intersection polygon boundary
- \(k_{\text{n}}\) :
-
Normal penalty value (\({\text{Pa}}\))
- \(k_{\text{t}}\) :
-
Tangential penalty value (\({\text{N/m}}\))
- \(\varOmega_{\text{b}}\) :
-
The point set of a block
- \(d_{\text{exit}}\) :
-
The shortest path for a point to exit a polygon
- \(H\) :
-
A unified value in potential function
- \(\varvec{x}_{p}\) :
-
Coordinate vector of point \(p\)
- \(\varvec{x}_{ei}\) :
-
Coordinate vector of a point on edge \(i\)
- \(d_{{e_{i} p}}\) :
-
Perpendicular distance of point \(p\) and edge \(i\)
- \(l_{ei}\) :
-
The line edge \(i\) belonging to
- \(l_{sk}\) :
-
Integral segment \(sk\) on an edge
- \(L_{sk}\) :
-
Length of segment \(sk\)
- \(p_{a} ,p_{b}\) :
-
Two ending points of segment \(sk\)
- \(\varvec{p}_{a}\), \(\varvec{p}_{b}\) :
-
Coordinate vector of point \(p_{a}\) and \(p_{b}\)
- \(\varvec{p}_{k}\) :
-
Coordinate vector of loading point on segment \(sk\)
- \(\varvec{f}_{ei}^{n}\) :
-
Integral of normal contact force on edge \(i\)
- \(\varvec{f}_{sk}^{n}\) :
-
Integral of normal contact force on segment \(sk\)
- \(\varvec{n}^{\text{g}}\) :
-
Unit normal vector of global contact force on contact polygon
- \(\varvec{p}_{\text{g}}\) :
-
Coordinate vector of loading point of global normal contact force
- \(l^{\text{ng}}\) :
-
The acting line of global normal contact force
- \(l^{\text{tg}}\) :
-
The acting line of global tangential contact force
- \(\varvec{\delta}\) :
-
The accumulated relative displacement of two contact polygon
- \(\varvec{\delta}^{n}\) :
-
\(\varvec{\delta}\) at beginning of step \(n\)
- \(\Delta\varvec{\delta}^{n}\) :
-
Incremental relative displacement at step \(n\)
- \(\varvec{\delta}_{\text{nor}}\) :
-
Normal components of \(\varvec{\delta}\)
- \(\varvec{\delta}_{\text{nor}}^{n}\) :
-
\(\varvec{\delta}_{\text{nor}}\) at beginning of step \(n\)
- \(\varvec{\delta}_{ \tan }\) :
-
Tangential components of \(\varvec{\delta}\)
- \(\varvec{\delta}_{ \tan }^{n}\) :
-
\(\varvec{\delta}_{ \tan }\) at beginning of step \(n\)
- \(\varvec{\tau}\) :
-
Relative sliding direction
- \(\varvec{\tau}^{n}\) :
-
\(\varvec{\tau}\) at beginning of step \(n\)
- \(\varvec{f}_{\text{CP}}^{\text{tg}}\) :
-
Global tangential contact force on contact polygon
- \(\varvec{f}_{\text{TP}}^{\text{tg}}\) :
-
Global tangential contact force on target polygon
- \(\varvec{f}_{n - 1}^{\text{tg}}\) :
-
The frictional force for CP at beginning of step \(n - 1\)
- \(\phi\) :
-
Friction angle of contact surface
- \(\theta\) :
-
Angle of inclined plane
- \(\Delta \varvec{u}_{\text{CP}}^{\text{g}}\) :
-
Incremental displacement of contact point in CP in step \(n\)
- \(\Delta \varvec{u}_{\text{TP}}^{\text{g}}\) :
-
Incremental displacement of contact point in TP in step \(n\)
References
Bao H, Zhao Z (2012) The vertex-to-vertex contact analysis in the two-dimensional discontinuous deformation analysis. Adv Eng Softw 45(1):1–10
Cundall PA (1988) Formulation of a three-dimensional distinct element model—Part I. A scheme to detect and represent contacts in a system composed of many polyhedral blocks. Int J Rock Mech Min Sci Geomech 25(3):107–116
Cundall PA, Hart RD (1992) Numerical modelling of discontinua. Eng Comput 9(2):101–113
Doolin DM, Sitar N (2004) Time integration in discontinuous deformation analysis. J Eng Mech 130(3):249–258
Fan H, He S (2015) An angle-based method dealing with vertex–vertex contact in the two-dimensional discontinuous deformation analysis (DDA). Rock Mech Rock Eng 48(5):2031–2043
Fan H, Zhao J, Zheng H (2018) Variational inequality-based framework of discontinuous deformation analysis. Int J Numer Meth Eng 115(3):358–394
Fan H, Zheng H, Wang J (2018) A generalized contact potential and its application in discontinuous deformation analysis. Comput Geotech 99:104–114
Feng Y, Han K, Owen D (2012) Energy-conserving contact interaction models for arbitrarily shaped discrete elements. Comput Methods Appl Mech Eng 205:169–177
Fu X, Sheng Q, Wang L, Chen J, Zhang Z, Du Y, Du W (2019) Spatial topology identification of three-dimensional complex block system of rock masses. Int J Geomech 19(12):04019127
Gardner M, Sitar N (2019) Modeling of dynamic rock-fluid interaction using coupled 3-D discrete element and lattice Boltzmann methods. Rock Mech Rock Eng 52(12):5161–5180
Gardner M, Kolb J, Sitar N (2017) Parallel and scalable block system generation. Comput Geotech 89:168–178
Houlsby G (2009) Potential particles: a method for modelling non-circular particles in DEM. Comput Geotech 36(6):953–959
Hu M, Rutqvist J, Wang Y (2017) A numerical manifold method model for analyzing fully coupled hydro-mechanical processes in porous rock masses with discrete fractures. Adv Water Resour 102:111–126
Itasca U (2004) Version 4.0 user’s manuals. Itasca Consulting Group, Minneapolis
Jiang Q, Chen Y, Zhou C, M-cR Yeung (2013) Kinetic energy dissipation and convergence criterion of discontinuous deformations analysis (DDA) for geotechnical engineering. Rock Mech Rock Eng 46(6):1443–1460
Khan MS (2010) Investigation of discontinuous deformation analysis for application in jointed rock masses
Lei Z, Rougier E, Euser B et al (2020) A smooth contact algorithm for the combined finite discrete element method. Comput Part Mech. https://doi.org/10.1007/s40571-020-00329-2
Li X, Zhao J (2019) An overview of particle-based numerical manifold method and its application to dynamic rock fracturing. J Rock Mech Geotechn Eng 9(3):396–414
Li X, Zhang Q, Li H, Zhao J (2018) Grain-based discrete element method (gb-dem) modelling of multi-scale fracturing in rocks under dynamic loading. Rock Mech Rock Eng 51(12):3785–3817
Lin X, Li X, Wang X, Wang Y (2019) A compact 3D block cutting and contact searching algorithm. Sci China Technol Sci 62(8):1438–1454
Lisjak A, Grasselli G (2014) A review of discrete modeling techniques for fracturing processes in discontinuous rock masses. J Rock Mech Geotechn Eng 6(4):301–314. https://doi.org/10.1016/j.jrmge.2013.12.007
Lv J-H, Jiao Y-Y, Rabczuk T, Zhuang X-Y, Feng X-T, Tan F (2020) A general algorithm for numerical integration of three-dimensional crack singularities in PU-based numerical methods. Comput Methods Appl Mech Eng 363:112908
Ma G, An X, He L (2010) The numerical manifold method: a review. Int J Comput Methods 7(01):1–32
Meng J, Cao P, Huang J, Lin H, Chen Y, Cao R (2019) Second-order cone programming formulation of discontinuous deformation analysis. Int J Numer Meth Eng 118(5):243–257
Mikola RG, Sitar N (2013) Explicit three dimensional discontinuous deformation analysis for blocky system. Conference: 47th US Rock Mechanics/Geomechanics Symposium. https://doi.org/10.13140/RG.2.1.3155.7600
Munjiza AA (2004) The combined finite-discrete element method. Wiley, New York
Munjiza A, Andrews K (1998) NBS contact detection algorithm for bodies of similar size. Int J Numer Meth Eng 43(1):131–149
Munjiza A, Andrews K (2000) Penalty function method for combined finite–discrete element systems comprising large number of separate bodies. Int J Numer Meth Eng 49(11):1377–1396
Munjiza AA, Knight EE, Rougier E (2011) Computational mechanics of discontinua. Wiley, New York
Peng X, Yu P, Chen G, Xia M, Zhang Y (2020) CPU-accelerated explicit discontinuous deformation analysis and its application to landslide analysis. Appl Math Model 77:216–234
Perkins E, Williams JR (2001) A fast contact detection algorithm insensitive to object sizes. Eng Comput 18(1/2):48–62
Rougier E, Munjiza A, John N (2004) Numerical comparison of some explicit time integration schemes used in DEM, FEM/DEM and molecular dynamics. Int J Numer Meth Eng 61(6):856–879
Shi G (1988) DDA—a new numerical model for the static and dynamics of block system. University of California, California
Shi G (2006) Producing joint polygons, cutting joint blocks and finding key blocks for general free surfaces. Chin J Rock Mech Eng 25:2161–2170
Shi G (2015) Contact theory. Sci China Technol Sci 58(9):1450–1496
Sitar N, MacLaughlin MM, Doolin DM (2005) Influence of kinematics on landslide mobility and failure mode. J Geotechn Geoenviron Eng 131(6):716–728
Tang C (1997) Numerical simulation of progressive rock failure and associated seismicity. Int J Rock Mech Min Sci 34(2):249–261
Wang X, Cai M (2018) Modeling of brittle rock failure considering inter-and intra-grain contact failures. Comput Geotech 101:224–244
Wang X, Wu W, Zhu H, Lin J-S, Zhang H (2019) Contact detection between polygonal blocks based on a novel multi-cover system for discontinuous deformation analysis. Comput Geotech 111:56–65
Wang X, Wu W, Zhu H, Zhang H, Lin J-S (2020) The last entrance plane method for contact indeterminacy between convex polyhedral blocks. Comput Geotech 117:103283
Williams JR, Perkins E, Cook B (2004) A contact algorithm for partitioning N arbitrary sized objects. Eng Comput 21(2/3/4):235–248
Wriggers P, Zavarise G (2004) Computational contact mechanics. Encyclopedia of computational mechanics. Wiley, New York
Wu Z, Wong LNY (2012) Frictional crack initiation and propagation analysis using the numerical manifold method. Comput Geotech 39:38–53
Wu W, Zhu H, Zhuang X, Ma G, Cai Y (2014) A multi-shell cover algorithm for contact detection in the three dimensional discontinuous deformation analysis. Theoret Appl Fract Mech 72:136–149
Wu W, Zhu H, Lin J-S, Zhuang X, Ma G (2018) Tunnel stability assessment by 3D DDA-key block analysis. Tunn Undergr Space Technol 71:210–214
Wu Z, Sun H, Wong LNY (2019) A cohesive element-based numerical manifold method for hydraulic fracturing modelling with voronoi grains. Rock Mech Rock Eng 52(7):2335–2359
Xu D, Wu A, Wu Y (2019) Discontinuous deformation analysis with potential contact forces. Int J Geomech 19(10):04019114
Xu D, Wu A, Yang Y, Lu B, Liu F, Zheng H (2020) A new contact potential based three-dimensional discontinuous deformation analysis method. Int J Rock Mech Min Sci 127:104206
Yan C, Zheng H (2017) A new potential function for the calculation of contact forces in the combined finite–discrete element method. Int J Numer Anal Meth Geomech 41(2):265–283
Yang Y, Tang X, Zheng H, Liu Q, He L (2016) Three-dimensional fracture propagation with numerical manifold method. Eng Anal Boundary Elem 72:65–77
Yang Y, Xu D, Zheng H (2018) Explicit discontinuous deformation analysis method with lumped mass matrix for highly discrete block system. Int J Geomech 18(9):04018098
Yao C, Jiang Q, Shao J-F (2015) Numerical simulation of damage and failure in brittle rocks using a modified rigid block spring method. Comput Geotech 64:48–60
Yao C, Shao J, Jiang Q, Zhou C (2019) A new discrete method for modeling hydraulic fracturing in cohesive porous materials. J Petrol Sci Eng 180:257–267
Zhang Q-H (2015) Advances in three-dimensional block cutting analysis and its applications. Comput Geotech 63:26–32
Zhang H, Liu S-g, Zheng L, Zhu H-h, Zhuang X-y, Zhang Y-b, Wu Y-q (2018) Method for resolving contact indeterminacy in three-dimensional discontinuous deformation analysis. Int J Geomech 18(10):04018130
Zhao L, Liu X, Mao J, Xu D, Munjiza A, Avital E (2018) A novel discrete element method based on the distance potential for arbitrary 2D convex elements. Int J Numer Meth Eng 115(2):238–267
Zhao L, Liu X, Mao J, Xu D, Munjiza A, Avital E (2018) A novel contact algorithm based on a distance potential function for the 3D discrete-element method. Rock Mech Rock Eng 51(12):3737–3769
Zheng Y, Xia L, Yu Q (2016) Identifying rock blocks based on exact arithmetic. Int J Rock Mech Min Sci 86:80–90
Zheng H, Zhang P, Du X (2016) Dual form of discontinuous deformation analysis. Comput Methods Appl Mech Eng 305:196–216
Zheng F, Jiao Y-Y, Zhang X-L, Tan F, Wang L, Zhao Q (2016) Object-oriented contact detection approach for three-dimensional discontinuous deformation analysis based on entrance block theory. Int J Geomech 17(5):E4016009
Zheng F, Jiao Y-Y, Gardner M, Sitar N (2017) A fast direct search algorithm for contact detection of convex polygonal or polyhedral particles. Comput Geotech 87:76–85
Zheng F, Jiao YY, Sitar N (2018) Generalized contact model for polyhedra in three-dimensional discontinuous deformation analysis. Int J Numer Anal Meth Geomech 42(13):1471–1492
Zheng F, Jiao Y, Leung YF, Zhu J (2018) Algorithmic robustness for contact analysis of polyhedral blocks in discontinuous deformation analysis framework. Comput Geotech 104:288–301
Zheng F, Leung YF, Zhu JB, Jiao YY (2019) Modified predictor-corrector solution approach for efficient discontinuous deformation analysis of jointed rock masses. Int J Numer Anal Meth Geomech 43(2):599–624
Zheng F, Zhuang X, Zheng H, Jiao Y-Y, Rabczuk T (2020) Kinetic analysis of polyhedral block system using an improved potential-based penalty function approach for explicit discontinuous deformation analysis. Appl Math Model 82:314–335
Zhou S, Zhuang X, Zhu H, Rabczuk T (2018) Phase field modelling of crack propagation, branching and coalescence in rocks. Theoret Appl Fract Mech 96:174–192
Zhou S, Zhuang X, Rabczuk T (2019) Phase field modeling of brittle compressive-shear fractures in rock-like materials: a new driving force and a hybrid formulation. Comput Methods Appl Mech Eng 355:729–752
Acknowledgements
Open Access funding provided by Projekt DEAL. This study was financially supported by Sofja Kovalevskaja Program from Alexander von Humboldt Foundation.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Zheng, F., Zhuang, X., Zheng, H. et al. A robust potential-based contact force solution approach for discontinuous deformation analysis of irregular convex polygonal block/particle systems. Acta Geotech. 16, 679–697 (2021). https://doi.org/10.1007/s11440-020-00997-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11440-020-00997-7