1 Introduction

Due to the long-term geological process, natural rock masses may contain a large number of structural planes (joints, faults, and weak side), and show a strong discontinuous deformation characteristic (Yang et al. 2018a, 2021a). How to accurately obtain the mechanical behavior of discontinuous rock masses has always been an attractive topic in rock mechanics. Considering economy and flexibility, numerical methods have become an effective tool to fulfil this task, such as the continuous-based methods and discontinues-based methods (Jing 2003).

Some typical continuous-based methods are the finite element method (FEM) (Zienkiewicz and Taylor 2000), the meshfree method (Rabczuk and Belytschko 2004; Zhuang et al. 2012) and the boundary element method (BEM). In continuous-based methods, discontinuity elements (Goodman 1976) are usually introduced to model the mechanical behavior of fractured rock masses (Beyabanaki et al. 2009). However, the number of discontinuity elements is usually limited, since these discontinuity elements may induce the numerical instability problem. In addition, it is difficult to model large-scale slipping and opening with discontinuity elements.

Compared to continuous-based methods, the discontinues-based methods are more suitable for discontinuity modeling, since they can directly simulate large-scale slipping and opening of rock masses. This is because in the discontinues-based methods, the problem domain is discretized into a series of individual blocks, and the motion and deformation of each block are treated separately. Furthermore, the interaction between blocks is treated using mutual contacts. Some typical discontinues-based methods are the distinct element method (DEM) (Jing 2003) introduced by Cundall, the discontinuous deformation analysis (DDA) method developed by Shi (1988) and the discrete finite element or the combined FEM-DEM developed by Munjiza (2004).

As a typical discontinuum-based method, the DDA method was originally developed to model the deformation and movement of a rock block system (Shi 1988). The DDA method can be considered as an implicit version of DEM since the contact and deformation of blocks are all included in a unified system equilibrium equation. It has been shown in many existing literature (Jing 2003; Shi 1988) that the solution of large deformation and displacement of a rock block system can be effectively solved by performing static or dynamic DDA analyses. Due to the attractive advantages of the DDA method, it has been used by researchers and engineers to solve many types of practical problems, such as dam deformation problems (Kottenstette 1999), Tunnel stability problems (Tsesarsky and Hatzor 2006), slope failure problems (Wu 2007; Yang et al. 2019, 2020a, b2023; Feng et al. 2021), jointed rock masses problems (Lin et al. 1996), hydraulic fracturing problems (Yang et al. 2018b; Wu et al. 2022; Choo et al. 2016) and wave propagation problems in rock masses (Wu et al. 2020a, b; Bao et al. 2012; Jiao et al. 2007; Gu and Zhao 2009). A review article about the validation of the DDA method for engineering problems can be found in (MacLaughlin and Doolin 2006). However, most of the research results mentioned above were obtained using a two-dimensional DDA (2D-DDA) method.

Note that all the practical engineering problems are in 3D space. Hence, the development of a 3D-DDA method for engineering problems is essential. Some early published work about the 3D-DDA method can be found in (Beyabanaki et al. 2008; Jiang and Yeung 2004; Yeung et al. 2003). In contrast to the 2D-DDA method, the application of the 3D-DDA method to engineering problems is not fruitful. One main reason lies behind is that contact treatment in the 3D-DDA method has not been well resolved. Compared to the 2D-DDA method, contact type judgment in the 3D-DDA method is not a trivial task, since more complex contact types, such as point-to-point contact, point-to-edge contact, point-to-face contact, edge-to-edge contact and force-to-face contact, are involved. In a typical contact-type judgment process, a rough search is first conducted to obtain the blocks closing to each other. Then, the possible contact type between adjacent blocks is determined using a fine search scheme. The contact judgment in the 3D-DDA method faces three main difficulties, namely, low efficiency, the uncertain direction of contact force and difficulty in handling concave blocks (Wang et al. 2021; Yeung et al. 2007). In addition, the first-order displacement function is used in the traditional 3D-DDA method to model the deformation of rock blocks (Yang et al. 2021b; Yeung et al. 2004). Hence, the stress and strain within any rock block computed by the traditional 3D-DDA method are constants. For a small rock block, this scheme may be acceptable. But for a big rock block in which the distributions of strain and stress are severely uneven, this approach is obviously unacceptable. To deal with the above-mentioned problems, some remedy schemes have been proposed in the past years, see for example (Wang et al. 2021; Beyabanaki et al. 2009; Zhang et al. 2016).

In the present work, to better analyze rock mechanics problems, a nodal-based 3D discontinuous deformation analysis method with contact potential (3D-NDDACP) is proposed. The proposed 3D-NDDACP method inherits both the advantages of the FEM-DEM and the traditional 3D-DDA method. In the 3D-NDDACP method, the contact potential (CP) originally proposed in the context of the FEM-DEM is used to deal with contact problems. Note that the contact potential has been mentioned in many FEM-DEM literature (Munjiza and Latham 2004; Mahabadi et al. 2010; Yan et al. 2018; Lisjak et al. 2014; Zhao et al. 2018). However, due to the adoption of an explicit solution scheme, the FEM-DEM suffers from a limitation in which the time step length should be small enough to ensure the numerical stability condition (Cheng 1998). Compared with the FEM-DEM, the 3D-NDDACP method is free from the numerical stability problem, since the implicit solution scheme (Jing 1998) is used. Furthermore, contact type judgment which is not a trivial task in the traditional 3D-DDA method can be totally avoided in the 3D-NDDACP method. In addition, high accuracy for contact problems may be obtained by the 3D-NDDACP method, since the contact force in the 3D-CPDDA method is applied in the form of traction force. Finally, to overcome shortcomings of the traditional 3D-DDA method in describing the deformation of a rock block, tetrahedral FE meshes which can be effectively generated with any mature mesh generator are used to discretize each rock block. By means of the proposed 3D-NDDACP method, benchmark problems about the movement of rock block systems are fully investigated.

2 Fundamental Theory of the 3D-NDDACP Method

2.1 Displacement Function Defined for a Block

In the 3D-NDDACP method, the computational domain \(\Omega\) is represented by a series of blocks with arbitrary shapes. Each block is further discretized with a series of tetrahedral elements. Regarding the i-th tetrahedral element, the displacement field \({\varvec{u}}\left({\varvec{x}}\right)\) for point \({\varvec{x}}\left(x, y, z\right)\) can be described as

$${\varvec{u}}\left({\varvec{x}}\right)=\left(\begin{array}{c}u\\ v\\ w\end{array}\right)={{\varvec{N}}}_{i}{{\varvec{d}}}_{i}$$
(1)

where the shape function matrix \({{\varvec{N}}}_{i}\) and the nodal displacement vector \({{\varvec{d}}}_{i}\) for the i-th tetrahedral element are

$${{\varvec{N}}}_{i}=\left[\begin{array}{cc}\begin{array}{cc}\begin{array}{ccc}{N}_{i1}& 0& 0\\ 0& {N}_{i1}& 0\\ 0& 0& {N}_{i1}\end{array}& \begin{array}{ccc}{N}_{i2}& 0& 0\\ 0& {N}_{i2}& 0\\ 0& 0& {N}_{i2}\end{array}\end{array}& \begin{array}{cc}\begin{array}{ccc}{N}_{i3}& 0& 0\\ 0& {N}_{i3}& 0\\ 0& 0& {N}_{i3}\end{array}& \begin{array}{ccc}{N}_{i4}& 0& 0\\ 0& {N}_{i4}& 0\\ 0& 0& {N}_{i4}\end{array}\end{array}\end{array}\right]$$
(2)
$${N}_{i1}=1-\xi -\eta -\zeta , {N}_{i2}=\xi , {N}_{i3}=\eta , {N}_{i4}=\zeta$$
(3)
$${{{\varvec{d}}}_{i}}^{\mathrm{T}}=\left[\begin{array}{cc}\begin{array}{cc}\begin{array}{ccc}{u}_{i1}& {v}_{i1}& {w}_{i1}\end{array}& \begin{array}{ccc}{u}_{i2}& {v}_{i2}& {w}_{i2}\end{array}\end{array}& \begin{array}{cc}\begin{array}{ccc}{u}_{i3}& {v}_{i3}& {w}_{i3}\end{array}& \begin{array}{ccc}{u}_{i4}& {v}_{i4}& {w}_{i4}\end{array}\end{array}\end{array}\right]$$
(4)

where \({N}_{ij}\) is the shape function of j-th node, (\(\xi ,\eta ,\zeta\)) are the natural coordinates of a point, and \({{\varvec{d}}}_{i}\) represents the degree of freedoms (DOFs) of the i-th tetrahedral element.

2.2 Simultaneous Equilibrium Equations

Similar to the traditional 3D-DDA method, the simultaneous equilibrium equations in the proposed 3D-NDDACP method can also be obtained from the minimization of the total potential energy (II) of the system, and expressed as follows:

$${\varvec{M}}\ddot{{\varvec{d}}}+{\varvec{K}}{\varvec{d}}={\varvec{f}},$$
(5)

in which \({\varvec{d}}={\left[\begin{array}{cc}\begin{array}{cc}{{\varvec{d}}}_{1}& {{\varvec{d}}}_{2}\end{array}& \begin{array}{cc}\cdots & {{\varvec{d}}}_{n}\end{array}\end{array}\right]}^{\mathrm{T}}\) is the global displacement vector consisting of all the tetrahedral element DOFs; \(\ddot{{\varvec{d}}}\) is the global acceleration vector equal to the second derivatives of \({\varvec{d}}\) with regard to time \(t\); and n is the number of all the tetrahedral elements in the system. The global matrices including mass matrix M, stiffness matrix K and force vector \({\varvec{f}}\) are calculated as

$${\varvec{M}}={\int }_{\Omega }\rho {{\varvec{N}}}^{\mathrm{T}}{\varvec{N}}\text{, }{\varvec{K}}={\int }_{\Omega }{{\varvec{B}}}^{\mathrm{T}}{\varvec{D}}{\varvec{B}}\text{, }{\varvec{f}}={\int }_{\Omega }{{\varvec{B}}}^{\mathrm{T}}{{\varvec{\sigma}}}_{0}+{\int }_{\Omega }{{\varvec{N}}}^{\mathrm{T}}{\varvec{b}}+{\int }_{{\Gamma }_{\text{t}}}{{\varvec{N}}}^{\mathrm{T}}\overline{{\varvec{t}} }\text{,}$$
(6)

in which b is the body force per unit volume, \(\rho\) is the mass density, D is the elastic Hooke matrix, \({{\varvec{\sigma}}}_{0}\) is the initial stress, and \(\overline{{\varvec{t}} }\) is the specified traction vector applied on \({\Gamma }_{\text{t}}\).

To solve Eq. (5), a direct time integration method, namely, the Newmark method (Zienkiewicz and Taylor 2000) is adopted. In the Newmark method, the following assumptions are made:

$${{\varvec{d}}}_{t+\Delta t}={{\varvec{d}}}_{t}+\Delta {\varvec{d}},$$
(7)
$${\ddot{{\varvec{d}}}}_{t+\Delta t}=\frac{\Delta {\varvec{d}}}{\alpha {\Delta t}^{2}}-\frac{{\dot{{\varvec{d}}}}_{t}}{\alpha \Delta t}-\left(\frac{1}{2\alpha }-1\right){\ddot{{\varvec{d}}}}_{t},$$
(8)
$${\dot{{\varvec{d}}}}_{t+\Delta t}={\dot{{\varvec{d}}}}_{t}+\Delta t\left(1-\delta \right){\ddot{{\varvec{d}}}}_{t}+\delta \Delta t{\ddot{{\varvec{d}}}}_{t+\Delta t},$$
(9)

where \({{\varvec{d}}}_{t}\), \({\dot{{\varvec{d}}}}_{t}\) and \({\ddot{{\varvec{d}}}}_{t}\) represent the global displacement vector, velocity vector and acceleration vector at instant t, while \({{\varvec{d}}}_{t+\Delta t}\), \({\dot{{\varvec{d}}}}_{t+\Delta t}\) and \({\ddot{{\varvec{d}}}}_{t+\Delta t}\) represent the global displacement vector, velocity vector and acceleration vector at instant \((t+\Delta t)\); \(\Delta {\varvec{d}}\) represents the incremental displacement vector from t to \((t+\Delta t)\); and \(\delta\) and \(\alpha\) represent the Newmark parameters, which are set to 1.0 and 0.5 in the present work to ensure an unconditional numerical stability condition.

According to Eqs. (8) and  (9), \({\dot{{\varvec{d}}}}_{t+\Delta t}\) can further be formulated as

$${\dot{{\varvec{d}}}}_{t+\Delta t}=\frac{\delta \Delta {\varvec{d}}}{\alpha \Delta t}+\left(1-\frac{\delta }{\alpha }\right){\dot{{\varvec{d}}}}_{t}+\Delta t\left(1-\frac{\delta }{2\alpha }\right){\ddot{{\varvec{d}}}}_{t}$$
(10)

Substituting Eqs. (7), 8 and  10 into Eq. (5), the system equations at an instant \((t+\Delta t)\) can be formulated as:

$$\widetilde{{\varvec{K}}}\Delta {\varvec{d}}=\widetilde{{\varvec{f}}},$$
(11)
$$\widetilde{{\varvec{K}}}={\varvec{K}}+\frac{{\varvec{M}}}{\alpha {\Delta t}^{2}},$$
(12)
$$\widetilde{{\varvec{f}}}={{\varvec{f}}}_{t+\Delta t}-{\varvec{K}}{{\varvec{d}}}_{t}+{\varvec{M}}\left(\frac{{{\varvec{d}}}_{t}}{\alpha {\Delta t}^{2}}+\frac{{\dot{{\varvec{d}}}}_{t}}{\alpha \Delta t}+\left(\frac{1}{2\alpha }-1\right){\ddot{{\varvec{d}}}}_{t}\right)$$
(13)

where \(\widetilde{{\varvec{K}}}\) and \(\widetilde{{\varvec{f}}}\) are the equivalent global stiffness matrix and force vector, respectively.

Note that the Newmark method used in the present paper satisfies the unconditional stability condition, and a large time step can be used in theory. However, due to the existence of inherent algorithm damping in the integration scheme, the accuracy of the proposed 3D-NDDACP method may be reduced. The influence of inherent algorithm damping on the accuracy of the traditional 2D-DDA method has been mentioned in (Jiang et al. 2013). According to their report, the influence of inherent algorithm damping on the accuracy of the traditional 2D-DDA method can be effectively reduced by using small time step. We will investigate the effect of time step length on the accuracy of the numerical solution of the 3D-NDDACP method in Sect. 4.2.1.

3 Contact Force Formulation

3.1 Normal Contact Force

In the proposed 3D-NDDACP method, rock blocks, which can be in any shape, are discretized into a series of tetrahedral elements. Hence, the contact force between any two rock blocks can be obtained by sum all the contact forces caused by the contact between the tetrahedral elements belonging to the two rock blocks.

The normal contact forces between two tetrahedral elements are calculated by a potential function method proposed by (Munjiza and Andrews 2000). The distributed normal contact force (\(\mathrm{d}{{\varvec{f}}}_{n}\)) is computed according to the overlap volume (\(\mathrm{d}V\)) between the contactor element (\({\beta }_{c}\)) and the target element (\({\beta }_{t}\)):

$$\mathrm{d}{{\varvec{f}}}_{n}={k}_{n}\left[\mathrm{grad}{\varphi }_{c}\left({{\varvec{P}}}_{c}\right)-\mathrm{grad}{\varphi }_{t}\left({{\varvec{P}}}_{t}\right)\right]\mathrm{d}V$$
(14)

where \({k}_{n}\) is the normal penalty parameter; \({{\varvec{P}}}_{c}\) and \({{\varvec{P}}}_{t}\) are the overlapping points of \({\beta }_{c}\) and \({\beta }_{t}\); and \(\varphi\) is the corresponding contact potential function.

By integrating the distributed normal contact force \(\mathrm{d}{{\varvec{f}}}_{n}\) over the overlapping volume of \({\beta }_{c}\) and \({\beta }_{t}\), the total normal contact force \({{\varvec{f}}}_{n}\) between \({\beta }_{c}\) and \({\beta }_{t}\) can be computed

$${{\varvec{f}}}_{n}={\iiint }_{{\beta }_{c}\cap {\beta }_{t}}{k}_{n}\left[\mathrm{grad}{\varphi }_{c}\left({{\varvec{P}}}_{c}\right)-\mathrm{grad}{\varphi }_{t}\left({{\varvec{P}}}_{t}\right)\right]\mathrm{d}V$$
(15)

As proven by (Munjiza and Andrews 2000), the normal contact force \({{\varvec{f}}}_{n}\) in Eq. (15) can also be written as an integral over the surface boundaries \({S}_{{\beta }_{c}\cap {\beta }_{t}}\) of the overlapping volume \({\beta }_{c}\cap {\beta }_{t}\), leading to

$${{\varvec{f}}}_{n}={k}_{n}{\iint }_{{S}_{{\beta }_{c}\cap {\beta }_{t}}}{{\varvec{n}}}_{S}\left[{\varphi }_{c}\left({{\varvec{P}}}_{c}\right)-{\varphi }_{t}\left({{\varvec{P}}}_{t}\right)\right]\mathrm{d}S$$
(16)

where \({{\varvec{n}}}_{S}\) is unit outward normal vector to the outer boundary surface \({S}_{{\beta }_{c}\cap {\beta }_{t}}\) of the overlapping volume \({\beta }_{c}\cap {\beta }_{t}\).

3.2 Shear Contact Force

According to the Mohr–Coulomb criterion, shear contact force between two tetrahedral elements can be expressed as

$$\varvec{f^{\prime}}_{\tau }^{t + \Delta t} = {\varvec{f}}_{\tau }^{t} - k_{s} \Delta u_{\tau } S_{B}$$
(17)

where \(\varvec{f^{\prime}}_{\tau }^{t + \Delta t}\) represents the trial value of shear contact force at time instant \(\left( {t + \Delta t} \right)\); \({\varvec{f}}_{\tau }^{t}\) is the shear contact force at time instant t; \({k}_{s}\) is the shear penalty parameter; \({S}_{B}\) is the contact area; and \(\Delta {u}_{\tau }\) is the tangential relative displacement increment within \(\Delta t\).

If the trial shear contact force satisfies \(\left| {\varvec{f^{\prime}}_{\tau }^{t + \Delta t} } \right| \le \mu \left| {{\varvec{f}}_{n} } \right|\), then

$${\varvec{f}}_{\tau }^{t + \Delta t} = \varvec{f^{\prime}}_{\tau }^{t + \Delta t}$$
(18)

Otherwise, it is calculated as follows

$${\varvec{f}}_{\tau }^{t + \Delta t} = \frac{{\varvec{f^{\prime}}_{\tau }^{t + \Delta t} }}{{\left| {\varvec{f^{\prime}}_{\tau }^{t + \Delta t} } \right|}}\mu \left| {{\varvec{f}}_{n} } \right|$$
(19)

Here, \(\mu\) represents the frictional coefficient.

According to the principle of minimum potential energy, the equivalent load vectors from the normal contact force and shear contact force can be obtained, see details in (Xu et al. 2020).

The values of the normal penalty parameter \({k}_{n}\) in Eq. (15) and the shear penalty parameter \({k}_{s}\) in Eq. (17) may have influence on the performance of the proposed 3D-NDDACP method for contact problems. Hence, the optimal values for \({k}_{n}\) and \({k}_{s}\) should be determined. The corresponding content will be discussed in Sect. 4.2.

Note that in each step the contact treatment between blocks is handled by contact forces rather than a contact matrix, which are calculated according to the updated state of the rock block system of the previous step. This treatment may bring some explicit features over time step. Similar practices can also be found by (Zhao et al. 2017).

4 Numerical Examples

In the traditional 3D-DDA method, the first-order displacement function is used to model the deformation of a rock block. Hence, the strain and stress of each rock block are constants and are equally distributed. In the proposed 3D-NDDACP method, tetrahedral finite element meshes are used to discretize each rock block. The strain and stress of each rock block computed by the 3D-NDDACP method are no more constants. Hence, the proposed 3D-NDDACP method can better capture the deformation of rock blocks than the traditional 3D-NDDACP method. In the following content, we mainly focus on the testing of the proposal method for 3D rock block contact problems.

4.1 Momentum Conservation Test

As the first example, a rock block collision test shown in Fig. 1 is considered. The sizes of Block A and Block B are both 1 m \(\times\) 1 m \(\times\) 1 m. The distance between Block A and Block B is 0.02 m. At time instant 0 s, Block A with an initial horizontal speed (1 m/s) starts sliding along the frictionless plate towards the stationary Block B. Shown in Fig. 2 is the discretized model for this momentum conservation test.

Fig. 1
figure 1

A rigid block collision example: Block A having initial velocity V0 slides toward Block B

Fig. 2
figure 2

Discretized model used for the momentum conservation test

In the computation, two cases, namely, Case 1 and Case 2 are considered. In Case 1, the mechanical parameters for Block A, Block B and the plate are set as the same values, namely, Young’s modulus E = 20 GPa, Poisson’s ratioν = 0.25 and density ρ = 2650 kg/m3; In Case 2, the density for Block B is set as 1325 kg/m3, and the rest parameters are set as the same values in Case 1. All the outer surfaces (except the up surface) of the plate are constrained in the normal direction with very stiff springs with a stiffness of 106E. Note that in the proposed 3D-NDDACP method, the penalty method used in the traditional DDA method is also adopted to impose displacement boundary conditions. The time step length \(\Delta t\) is taken as a constant, namely, 1.0 \(\times\) 10–6 s.

In theory, Block A will collide Block B at time instant 0.02 s. In addition, the block system should satisfy the law of momentum conservation and kinetic energy conservation. To be more specific: (1) The global horizontal momentum should always be 2650 kg m/s even after block A colliding with block B; (2) In Case 1, the velocities for Block A and Block B should be 1 m/s and 0 m/s before collision, and be 0 m/s and 1 m/s after collision; and (3) In Case 2, the velocities for Block A and Block B should be 1 m/s and 0 m/s before collision, and be 1/3 (0.3333) m/s and 4/3 (1.3333) m/s after the collision.

The calculated total horizontal momentum, horizontal momentums of Block A and B and analytical value of total horizontal momentum versus time are plotted in Fig. 3. It is shown that the calculated total horizontal momentums are identical to the analytical values, which means that the proposed 3D-NDDACP method passes this momentum conversation test.

Fig. 3
figure 3

Computed momentum versus time step

Furthermore, the values of horizontal momentum and velocity for Blocks A and B are also listed in Tables 1 and 2. It is shown that the values of momentum and velocity for Blocks A and B computed with the proposed method are all very close to the analytical values.

Table 1 Computed horizontal momentums of the two blocks (unit: kg m/s)
Table 2 Computed horizontal velocities of the two blocks (unit: m/s)

4.2 Sliding Problem

For the second example, a small tri-prism block staying on a ramp is considered, as shown in Fig. 4. The slope angle of the ramp is \(\alpha\). In the computation, the tri-prism block and the ramp’s material parameters are: Young’s modulus E = 200 GPa, Poisson’s ratio ν = 0.25 and density ρ = 2650 kg/m3. The bottom surface of the ramp is fixed, while the other surfaces except the surface contacting the tri-prism block are all constrained in the normal direction. Due to the self-weight effect, the tri-prism block may slide along the ramp. To record the displacement time history of the tri-prism block, a monitoring point located at its center is used.

Fig. 4
figure 4

A block slides along a ramp

The analytical sliding displacement of the tri-prism block (S) at time instant t (s) can be expressed as:

$$S=0.5\left(\mathrm{sin}\alpha -\mu \mathrm{cos}\alpha \right)g{t}^{2}$$
(20)

where \(g\) represents the gravity speed (9.8 m/s2); \(\mu\) represents the frictional coefficient which can be expressed as \(\mathrm{tan}(\phi /180^\circ )\). Here, \(\phi\) represents the friction angle between the tri-prism block and ramp.

4.2.1 Influence of Normal Penalty Parameter on acCuracy of Numerical Solution

To analyze the influence of normal penalty parameter value on the accuracy of the proposed 3D-NDDACP method, six different values of normal penalty parameter (\({k}_{n}\)) are considered, namely, \({k}_{n}\) will be separately set to 1.0 \(\times\) 10−1E, 1.0 \(\times\) 10−2E, \(\cdots\), and 1.0 \(\times\) 10−6E. In this section, only the case for slope angle \(\alpha\) = 45° and friction angle \(\phi\) = 0° is considered.

Figure 5a shows the relative displacement errors under different values of the normal penalty parameter (\({k}_{n}\)) for time step length \(\Delta t\) = 1.0 \(\times\) 10–4 s. For a clearer comparison, Fig. 5a is decomposed into Fig. 5b–f. As can be seen in Fig. 5b–e, the relative errors of displacement time history gradually decrease as the value of \({k}_{n}\) decreases. When the value of \({k}_{n}\) is set as 1.0 \(\times\) 10−5E, the magnitude of relative errors of displacement time history is only 10–4. However, when the value of \({k}_{n}\) is set as 1.0 \(\times\) 10−6E, the biggest magnitude of relative errors of displacement time history reaches 10–3 (Fig. 5f). Hence, the optimal value for \({k}_{n}\) in this case is 1.0 \(\times\) 10−5E.

Fig. 5
figure 5

Relative displacement errors under different values of normal penalty parameter (\({k}_{n}\)) for time step length \(\Delta t\)= 1.0 \(\times\) 10–4 s and slope angle \(\alpha\) = 45°

Furthermore, to analyze the effect of time step length on the accuracy of the numerical solution, a smaller time step length, namely, \(\Delta t\) = 1.0 \(\times\) 10–5 s, is also considered. Figure 6a shows the relative displacement errors under different values of the normal penalty parameter (\({k}_{n}\)) for time step length \(\Delta t\) = 1.0 \(\times\) 10–5 s. Figure 6a is also decomposed into five subfigures, namely, Fig. 6b–f for a clearer comparison. As can be seen in Fig. 6b–e, the magnitudes of relative errors of displacement time history are all only 10–4 for \({k}_{n}=\) 1.0 \(\times\) 10−1E, 1.0 \(\times\) 10−2E, \(\cdots\), and 1.0 \(\times\) 10−5E. Even for \({k}_{n}=\) 1.0 \(\times\) 10−6E, the magnitude of relative errors of displacement time history are also only 10–4 except for time instant t is close to 0.024 s. Similar to the case with \(\Delta t\) = 1.0 \(\times\) 10–4 s, the optimal value for \({k}_{n}\) is also 1.0 \(\times\) 10−5E for the case with \(\Delta t\) = 1.0 \(\times\) 10–5 s.

Fig. 6
figure 6

Relative displacement errors under different values of normal penalty parameter (\({k}_{n}\)) for time step length \(\Delta t\) = 1.0 \(\times\) 10–5 s and slope angle \(\alpha\)= 45°

To better illustrate the influence of time step length \(\Delta t\) on the accuracy of the numerical solution for \({k}_{n}=\) 1.0 \(\times\) 10−5E, Fig. 7 is plotted. As can be seen in Fig. 7, the magnitude of relative errors of displacement time history are all only 10–4 for \(\Delta t\) = 1.0 \(\times\) 10–4 s and 1.0 \(\times\) 10–5 s. The accuracy of the numerical solution for \(\Delta t\) = 1.0 \(\times\) 10–5 s is generally better than that for \(\Delta t\) = 1.0 \(\times\) 10–4 s. The time step length has some influence on the accuracy of the numerical solution.

Fig. 7
figure 7

Relative displacement errors under different time step length \(\Delta t\) for slope angle \(\alpha\) = 45° and friction angle \(\phi\)= 0°

Base on the above discussion, the value of the normal penalty parameter (\({k}_{n}\)) will be set to 1.0 \(\times\) 10−5E in the following content.

4.2.2 Influence of Shear Penalty Parameter on Accuracy of Numerical Solution

To analyze the influence of the shear penalty parameter value on the accuracy of the proposed 3D-NDDACP method, four different values of the shear penalty parameter \({k}_{s}\) are considered, namely, \({k}_{s}\) will be separately set to 1.0 \(\times\) 10−0E, 1.0 \(\times\) 10−1E, 1.0 \(\times\) 10−2E, and 1.0 \(\times\) 10−3E.

In this section, two cases, namely, Case I and Case II are considered. For Case I, slope angle \(\alpha\) = 45° and friction angle \(\phi\) = 35°; and for Case II, slope angle \(\alpha\) = 30° and friction angle \(\phi\) = 25°. For both Case I and Case II, the time step length \(\Delta t\) are all set to 1.0 \(\times\) 10–5 s.

Figure 8a shows the relative displacement errors under different values of the shear penalty parameter (\({k}_{s}\)) for Case I. For a clearer comparison, Fig. 8a is decomposed into Fig. 8b–d. As can be seen in Fig. 8b–d, the curves of relative errors for \({k}_{s}=\) 1.0 \(\times\) 10−2E, 1.0 \(\times\) 10−1E and 1.0 \(\times\) 10−0E are basically coincide to each other. The magnitude of relative errors of displacement time history is only 10–3. However, the maximum value of relative errors of displacement time history for \({k}_{s}=\) 1.0 \(\times\) 10−3E is close to 0.14.

Fig. 8
figure 8

Relative displacement errors under different values of shear penalty parameter (\({k}_{s}\)) for time step length \(\Delta t\) = 1.0 \(\times\) 10–5 s, slope angle \(\alpha\) = 45°and friction angle \(\phi\)=35°

Figure 9a shows the relative displacement errors under different values of the shear penalty parameter (\({k}_{s}\)) for Case II. For a clearer comparison, Fig. 9a is decomposed into Fig. 9b–d. As can be seen in Fig. 9b–d, the curves of relative errors for \({k}_{s}=\) 1.0 \(\times\) 10−2E, 1.0 \(\times\) 10−1E and 1.0 \(\times\) 10−0E are also basically coincide to each other. The magnitude of relative errors of displacement time history is only 10–2. Note that the maximum value of relative errors of displacement time history for \({k}_{s}=\) 1.0 \(\times\) 10−3E is close to 0.4.

Fig. 9
figure 9

Relative displacement errors under different values of shear penalty parameter (\({k}_{s}\)) for time step length \(\Delta t\) = 1.0 \(\times\) 10–5 s, slope angle \(\alpha\) = 30° and friction angle \(\phi\) = 25°

Base on the above discussion, the shear penalty parameter \({k}_{s}\) can be set to 1.0 \(\times\) 10−2E, 1.0 \(\times\) 10−1E and 1.0 \(\times\) 10−0E. In the following section, the normal penalty parameter \({k}_{n}\) will be set to 1.0 \(\times\) 10−5E, while the shear penalty parameter \({k}_{s}\) will be set to 1.0 \(\times\) 10−1E.

4.2.3 Influence of Friction Coefficient on Accuracy of the Numerical Solution

In this section, the influence of friction coefficient value on the accuracy of the proposed 3D-NDDACP method is analyzed. In the computation, the time step length \(\Delta t\), normal penalty parameter \({k}_{n}\) and shear penalty parameter \({k}_{s}\) are set to 1.0 \(\times\) 10–5 s, 1.0 \(\times\) 10−5E and 1.0 \(\times\) 10−1E, respectively.

Two cases, namely, Case III and Case IV are considered. For Case III, slope angle \(\alpha\) = 45° and friction angle \(\phi\) = 0° ~ 35°; and for Case IV, slope angle \(\alpha\) = 30° and friction angle \(\phi\) = 0° ~ 25°. For both Case III and Case IV, the time step length \(\Delta t\) are all set to 1.0 \(\times\) 10−5 s.

Figure 10 shows the relative displacement errors under different friction angles (\(\phi\)) corresponding to Case III. As can be seen in Fig. 10, the oscillation of the relative error curve happens for all eight friction angles. Additionally, for each friction angle, the magnitude of relative error gradually decreases to very small values as time goes on. Similar conclusions also hold for Case IV, as shown in Fig. 11.

Fig. 10
figure 10

Relative displacement errors under different friction angles (\(\phi\)) for time step length \(\Delta t\) = 1.0 \(\times\) 10–5 s and slope angle \(\alpha\) = 45°

Fig.11
figure 11

Relative displacement errors under different friction angles (\(\phi\)) for time step length \(\Delta t\) = 1.0 \(\times\) 10–5 s and slope angle \(\alpha\) = 30°

4.3 A Complex Block System

As the last example, we consider a complex polyhedral block system, as shown in Fig. 12. The computational model consists of a cubic base and a series of polyhedral rock blocks. The polyhedral rock blocks are generated by cutting a column with the size of 5 m \(\times\) 5 m \(\times\) 10 m using a joint set. The material parameters of the blocks and the cubic base are: Young’s modulus E = 200 GPa, Poisson’s ratio ν = 0.25, density ρ = 2650 kg/m3. The time step length \(\Delta t\) is set to 1.0 \(\times\) 10–4 s. In the computation, the four side surfaces and the bottom surface of the cubic base are constrained in the normal direction.

Fig. 12
figure 12

A polyhedral block system

Three scenarios corresponding to different friction angles (\(\phi\) = 0°, 5° and 10°) are investigated. The kinetic movements of the block system on the cubic base under gravity load are recorded. The gravity load is treated as an external force which is added suddenly at the beginning of the calculation. The block geometries at different time instants for the first scenario (\(\phi\) = 0°), the second scenario (\(\phi\) = 5°) and the third scenario (\(\phi\) = 10°) are separately plotted in Figs. 13, 14 and 15.

Fig. 13
figure 13

The block geometry at different instants for the first scenario (\(\phi\) = 0°)

Fig. 14
figure 14

The block geometry at different instants for the second scenario (\(\phi\) = 5°)

Fig. 15
figure 15

The block geometry at different instants for the third scenario (\(\phi\) = 10°)

Due to the frictionless condition in the first scenario, the rock blocks move freely under the gravity load. Note that this scenario has also been investigated by (Zheng et al. 2020). The block geometries at different instants predicted with the present numerical model agree well with those presented by (Zheng et al. 2020).

For the second scenario and the third scenario, the rock blocks cannot move freely under the gravity load, due to the influence of friction between blocks. At 0.7 s, the maximum values of x-displacement for the second scenario and the third scenario are 1.970 m and 1.886 m respectively, which are smaller than that for the first scenario (1.983 m).

5 Conclusions

To better analyze rock mechanics problems, a nodal-based 3D discontinuous deformation analysis method with the contact potential (3D-NDDACP) is developed. In the proposed numerical model, tetrahedral FE meshes which can be effectively generated are adopted to discretize each rock block. Additionally, the contact potential is used to compute contact forces between any two rock blocks. The proposed numerical model has the following advantages:

  1. A)

    Due to the adoption of tetrahedral FE meshes in each rock block, the continuum mechanics principles used in FEM may be used in the proposed 3D-NDDACP method. By refining the FE mesh in each rock block, the deformation ability can be enhanced, while the stress distribution can be refined.

  2. B)

    According to the definition of contact potential, there is no need to distinguish contact types between any two blocks. Hence, the contact force can be directly computed in the proposed 3D-NDDACP method. However, in the traditional 3D-DDA method, the contact type should be determined before computing the contact force. Note that the determination of contact types in the traditional 3D-DDA method is not a tractable task, since many different contact types including the point-to-point contact, point-to-edge contact, point-to-face contact or edge-to-edge contact are involved.

  3. C)

    In the traditional 3D-DDA method, the contact force is first treated as concentrated force, and then added to the global force vector. However, in the proposed 3D-NDDACP method, the contact force is in direct proportion to the contact volume, and is treated as a traction force before adding into the global force vector. The numerical examples investigated in the present work indicate that the proposed 3D-NDDACP method can accurately simulate contact problems.

  4. D)

    The open-close iteration processes are not needed in the proposed 3D-NDDACP method. Hence, the implementation of the 3D-NDDACP method is much easier than that of the traditional 3D-DDA method.

  5. E)

    In each time step the contact treatment between blocks is handled by contact forces. Compared with the traditional DDA method, this treatment in the proposed 3D-NDDACP method will bring some explicit features over the time step, which means that a small time step length may needed to ensure accuracy requirement. However, according to our test (Sect. 4.2.1), even when the time step length \(\Delta t\) is set to 1.0 \(\times\) 10–4, the magnitude of relative errors of displacement time history is only 10–4, which means that the influence of explicit features from the contact force is limited.

Apart from the abovementioned advantages, the proposed 3D-NDDACP method is very suitable for solving rock fracturing problems. In our future work, the current version of the 3D-NDDACP method will be further improved for the rock fracturing modelling.