1 Introduction

A gas outburst is one of the most serious disasters that can occur in underground coal mines in China. Therefore, extraction of coal bed methane (CBM) before proceeding with mining is essential. Since coal is characterized as a low permeable medium, enhanced gas extraction technologies should be used, such as water-jet cutting (Lu et al. 2010), deep-hole blasting (Liu et al. 2011) and hydraulic fracturing (Liu et al. 2015). Among these technologies, hydraulic fracturing has been proven to be the most efficient way to improve the permeability of coal seams.

Hydraulic fracturing in coal seams is quite complex. In moderate to deep coal seams, the horizontal stress is generally lower in magnitude than the vertical stress. However, the strength of the coal bedding and weak planes between the coal seam and its adjacent rock layers are smaller than the entire intact coal formation. Furthermore, the tectonic stress in a soft formation is typically lower than in a stiffer formation. Therefore, several theoretical studies (Daneshy 1978; Zhang and Jeffrey 2006; Jeffrey and Zhang 2008; Chen et al. 2015) have concluded that a fracture in a coal seam can propagate in both horizontal and vertical directions. However, the vertical direction is often limited by the thickness of the coal seam, resulting in a T-shaped, Z-shaped, H-shaped fracture and cross-cutting pattern. This conclusion has been confirmed in other experiments (Anderson 1981; Teufel and Clark 1984; Abass et al. 1990; Jiang et al. 2016; Huang and Liu 2017; Tan et al. 2017; Wu et al. 2018).

Traditionally, to design and investigate hydraulic fracture treatments on an engineering scale, numerical simulations are required. Recently, valuable studies have been carried out by many authors that model multiple fracture interactions during fluid injection and production. Some of them have been based on the discontinuum methodology, in which fractures and connectivity among multiple intersecting fractures are explicitly described by their geometry, position, and orientation. Dershowitz et al. (2010) developed a discrete fracture network model (DFN), which is capable of considering fluid flow in a complex fracture network. However, the mechanical interaction between fractures is neglected in this model. Various methods have been applied that consider stress interferences from neighboring fractures. Meyer and Bazan (2011) calculated the stress distribution using a semi-analytical solution with superposition of pressurized planar fractures. The results were validated only in the case when the fractures were parallel to the direction of the principal stresses. Kresse et al. (2013) employed a 2D displacement discontinuity solution with a 3D correction factor to investigate the shear displacement of open fractures and the resulting stress interference and dilation. In addition, McClure et al. (2015) considered the shear displacement influence of both open and contact fractures. Although the DFN model provides insight into complex fluid flow in discrete and connected fractures, applications are limited to pseudo 2D, as the 2D displacement discontinuity solution with the 3D correction factor is only valid for homogenous and isotropic rock formations under a plane strain state. The finite element method (FEM) is another way to model the hydro-mechanical behavior of multiple fractures (Guo et al. 2015; Fu et al. 2011). In FEM analysis, fractures are represented by interfaces between adjacent elements; therefore, re-meshing is required to track the temporal development of fracture surfaces. This is time consuming and may cause errors when interpolating variables from the old to the new mesh. To avoid the problems of re-meshing, the extended finite element method (XFEM) was introduced (Réthoré et al. 2007; Watanabe et al. 2012). In XFEM, fractures can cross through or embed in the calculation elements. The discontinuum displacement field caused by fractures can be mathematically described using additional degrees of freedom. Although XFEM is able to describe each fracture and does not rely on re-meshing, applications in full 3D are still a challenge due to the significantly complex integration of volume-related variables, especially when multiple fractures intersect in one calculation element. Wan et al. (2017) used a particle flow code based on the distinct element method (DEM) to simulate hydraulic fracture propagation in a coal seam.

Although the numerical models based on the discontinuum methodology have given the important contributions for understanding the mechanism of multiple fracture interaction and propagation, they are mostly limited in 2D applications due to the high computational cost of 3D. A fully 3D numerical simulation of the hydraulic fracturing process is of great importance and would provide improved knowledge of fracture growth mechanisms and aid in developing and improving diagnostic and mapping technology on the engineering scale. Therefore, some studies have concentrated on the continuum methodology. On engineering scales, the characterization of all discontinuities, including faults, bedding planes, and joints, is difficult and not necessary. In the continuum methodology (Rutqvist et al. 2002; Tang et al. 2002; Li et al. 2005; Hou et al. 2013), fractures are assumed to be distributed homogenously in one calculation element. Mechanical and hydraulic influences on fractures are considered as stress-dependent anisotropy of related parameters (e.g., Young’s modulus, shear modulus, rock damage, and permeability), while displacement discontinuity is described using plastic strain calculated utilizing plasticity theory. The main problem with the continuum models is that, although plastic deformation is irreversible, the processes of fracture opening, closure, and slippage are reversible. To solve this problem, Nassir and Settar (2013) developed a pseudo continuum methodology (combining both continuum and discontinuum theory). In addition, Li et al. (2016) extended it with additional consideration of thermal effects. In the pseudo continuum model, fracture constitutive models were used to describe the discontinuity, instead of plastic constitutive models. With these methods, the mechanical behavior of fractures was characterized accurately. Fracture constitutive models developed by Bandis et al. (1983) were adopted for contact fractures. In these models, a constant normal stiffness was assumed when fractures are open. Both Nassir et al. (2013) and Li et al. (2016) simulated a KGD fracture to verify the aperture variation of an open fracture. The results deviated slightly from the analytical solution. The reason is that the aperture variation of open fractures is not a function of fracture stiffness but is related to elastic parameters of the rock matrix (Peirce and Siebrits 2001, 2002).

In this work, a new numerical approach is developed based on the equivalent continuum methodology to model the hydro-mechanical behavior of multiple fractures in three dimensions. The governing equations are solved using a hybrid combination of the embedded element method (EEM) and the cell-center based finite volume method (FVM) in an iterative coupling schema. The FVM is employed to calculate the pressure field, while the EEM is used to track the displacement discontinuity caused by fractures. A fracture constitutive model is implemented to describe the aperture variation, shear slippage, and shear dilation for both contact and open fractures, as well as contact and open criteria. To verify the developed model, two benchmark examples are presented. Finally, the developed model is used to numerically investigate hydraulic fracture propagation in an underground coal mine.

2 Governing Equations

In general, hydraulic fracturing involves the following physical processes: (1) deformation of the rock matrix; (2) fluid flow in multiple fractures; (3) fracture deformation including fracture opening, closure, shear slippage, and dilation; and (4) fracture propagation. In this section, the governing equations used to develop the model are discussed in detail.

2.1 Geomechanical Model

To describe the mechanical behavior of rock formations, the linear elasticity theory was adopted, which utilizes the following equilibrium equation, the geometrical equation, and the constitutive equation (Eq. 3):

$$\nabla {\mathbf{\sigma }}+{\rho _{\text{m}}}\left( {\mathbf{B} - \frac{{{\text{d}}{\mathbf{v}}}}{{{\text{d}}t}}} \right)=0,$$
(1)
$$\Delta {\mathbf{\varepsilon }}=\frac{1}{2}\left[ {\nabla \left( {\Delta {\mathbf{u}}} \right)+{\nabla ^{\text{T}}}\left( {\Delta {\mathbf{u}}} \right)} \right],$$
(2)
$$\Delta {\mathbf{\varepsilon }}={\mathbf{D}}\Delta {\mathbf{\sigma }},$$
(3)

where σ is the Cauchy stress tensor in vector form (MPa); ρm is the rock density (kg/m3); B is the body force vector per unit volume (m/s2); v is the velocity vector (m/s); Δε is the strain increment tensor in vector form (–); u is the displacement vector (m); D is the Hook tensor expressed in matrix form; E is the Young’s modulus (MPa); υ is the Poisson ratio (–); and G is the shear modulus (MPa):

$$D=\left[ {\begin{array}{*{20}{c}} {1/E}&{ - \upsilon /E}&{ - \upsilon /E}&0&0&0 \\ { - \upsilon /E}&{1/E}&{ - \upsilon /E}&0&0&0 \\ { - \upsilon /E}&{ - \upsilon /E}&{1/E}&0&0&0 \\ 0&0&0&{1/2G}&0&0 \\ 0&0&0&0&{1/2G}&0 \\ 0&0&0&0&0&{1/2G} \end{array}} \right].$$

When rock elements contain a set of fractures, the EEM (Oliver 1995, 1996) can be employed to describe the discontinuous behavior caused by the fractures. In the embedded element method, deformation of a fracture element is decomposed into deformation of an intact element and fracture sets (Eq. 4, Fig. 1). The strain on the intact element was estimated using Eq. (3). Meanwhile, a fracture constitutive model was needed to calculate the strain increment induced by the fractures.

Fig. 1
figure 1

Equivalent pseudo-continuum fracture element

$$\Delta {{\mathbf{\varepsilon }}_{\text{t}}}=\Delta {{\mathbf{\varepsilon }}_{\text{m}}}+\Delta {{\mathbf{\varepsilon }}_{\text{f}}},$$
(4)

where t, m, and f are the abbreviations for total, matrix, and fracture.

2.2 Constitutive Models for Rock Elements with a Single Fracture

Zhou et al. (2014, 2016) and Ren et al. (2019) developed a constitutive model for rock elements with a single fracture. When fluid pressure in a fracture is smaller than the normal stress perpendicular to the fracture plane, the fracture is under contact (Fig. 2a). In comparison with the rock matrix, fractures have greater deformability, as the contact area and the strength of fractures are smaller. Goodman et al. (1968) developed an elastic constitutive model for contact fractures, introducing normal stiffness and shear stiffness to describe the amount of elastic normal and shear displacement with respect to a stress change on the fracture plane:

$$\left\{ {\begin{array}{*{20}{c}} {\Delta {w^{{\text{elas}}}}} \\ {\Delta u_{{{\text{fs}}}}^{{{\text{elas}}}}} \end{array}} \right\}=\left[ {\begin{array}{*{20}{c}} {1/{k_{\text{n}}}}&0 \\ 0&{1/{k_{\text{s}}}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {\Delta \sigma _{{{\text{fn,eff}}}}^{{}}} \\ {\Delta \tau _{{{\text{fs}}}}^{{}}} \end{array}} \right\},$$
(5)

where w is the fracture aperture (m); ufs is the fracture shear displacement in the direction of the maximum local shear stress (m); kn is the normal stiffness (m/MPa); ks is the shear stiffness (m/MPa); σfn,eff is the local effective normal stress on the fracture plane, defined as σfn,eff = σfn + Pf; σfn is the local total normal stress on the fracture plane (MPa); Pf is the fluid pressure in the fracture (MPa); τfs is the maximum local shear stress on the fracture plane (MPa); and index elas is the abbreviation of elastic.

Fig. 2
figure 2

Fractures in a real and a model case under different conditions

Experimental results (Bandis et al. 1983) have suggested that the stress–aperture curve of a fracture can be captured using a hyperbolic function:

$$w={w_{{\text{ini}}}} - \frac{{a{\sigma _{{\text{fn,eff}}}}}}{{b+{\sigma _{{\text{fn,eff}}}}}},$$
(6)

where wini is the initial aperture in a zero-stress state (m); and a and b are the fitting parameters.

Taking the derivative of the above equation, the normal stiffness was obtained as a power function of the effective normal stress:

$${k_{\text{n}}}=\frac{{{\text{d}}{\sigma _{{\text{fn,eff}}}}}}{{{\text{d}}w}}= - \frac{{{{\left( {b+{\sigma _{{\text{fn,eff}}}}} \right)}^2}}}{{ab}}.$$
(7)

Since the fracture surface is rough, fractures still maintain a certain frictional strength under the contact condition. The Coulomb slip model can be used to describe the shear failure behavior of fractures:

$$f=abs({\tau _{fs}}) - \left( {C - {\sigma _{fn,eff}}\tan \varphi } \right),$$
(8)

where f is the failure function [MPa]; Φ is the frictional angle (°); C is the cohesion (MPa); and abs () is the operator of absolute value.

When the maximum shear stress on a fracture plane exceeds the frictional strength, shear failure occurs. Then, the shear stress decreases and maintains at the level of the shear strength. Therefore, the plastic shear displacement can be calculated based on plasticity theory:

$$\Delta u_{{{\text{fs}}}}^{{{\text{plas}}}}=\left\| {{\tau _{{\text{fs}}}}} \right\|f/{k_{\text{s}}},$$
(9)

where the index plas is the abbreviation of plastic; \(\left\| {{\tau _{{\text{fs}}}}} \right\|=\left\{ {\begin{array}{*{20}{c}} { - 1}&{{\tau _{{\text{fs}}}}<0} \\ 1&{{\tau _{{\text{fs}}}} \geqslant 0} \end{array}} \right.\).

The plastic shear displacement induced by shear failure can lead to dilation in the normal direction:

$$\Delta {w_{{\text{dil}}}}=\Delta u_{{{\text{fs}}}}^{{{\text{plas}}}}\tan \varphi .$$
(10)

where φ is the dilation angle (°); and wdil is the aperture induced by the shear dilation (m).

The total fracture displacement under the contact condition is then a superposition of the elastic and the plastic part:

$$\left\{ {\begin{array}{*{20}{c}} {\Delta {w^t}} \\ {\Delta u_{{{\text{fs}}}}^{t}} \end{array}} \right\}=\left[ {\begin{array}{*{20}{c}} {1/{k_{\text{n}}}}&0 \\ 0&{1/{k_{\text{s}}}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {\Delta \sigma _{{{\text{fn,eff}}}}^{{}}} \\ {\Delta \tau _{{{\text{fs}}}}^{{}}} \end{array}} \right\}+\left\langle f \right\rangle \left\{ {\begin{array}{*{20}{c}} {f{\text{/}}{k_{\text{s}}} \cdot \tan \phi } \\ {\left\| {{\tau _{{\text{fs}}}}} \right\|f/{k_{\text{s}}}} \end{array}} \right\},$$
(11)

where \(\left\langle f \right\rangle =\left\{ {\begin{array}{*{20}{c}} 0&{f<0} \\ 1&{f \geqslant 0} \end{array}} \right.\).

For uniformly distributed fractures, the strain induced by fracture displacement can be computed according to the equivalent continuum assumption:

$$\left\{ {\begin{array}{*{20}{c}} {\Delta {\varepsilon _{{\text{fn}}}}} \\ {\Delta {\varepsilon _{{\text{fs}}}}} \end{array}} \right\}=\left\{ {\begin{array}{*{20}{c}} {\Delta {w^t}{\text{/}}S} \\ {\Delta u_{{{\text{fs}}}}^{t}{\text{/}}S} \end{array}} \right\}=\left[ {\begin{array}{*{20}{c}} {1/{k_{\text{n}}}S}&0 \\ 0&{1{\text{/}}{k_{\text{s}}}S} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {\Delta \sigma _{{{\text{fn,eff}}}}^{{}}} \\ {\Delta \tau _{{{\text{fs}}}}^{{}}} \end{array}} \right\}+\left\langle f \right\rangle \left\{ {\begin{array}{*{20}{c}} {f{\text{/}}{k_{\text{s}}}S \cdot \tan \phi } \\ {\left\| {{\tau _{{\text{fs}}}}} \right\|f{\text{/}}{k_{\text{s}}}S} \end{array}} \right\},$$
(12)

where S is the fracture spacing (m).

Fluid pressure and normal stress increase during fluid injection. Due to the different mechanical behavior of fractures and the rock matrix, the increment of fluid pressure is faster than those under normal stress, until fluid pressure is equal to normal stress. Then fractures are propped open and shear stress releases instantly (Fig. 2b). After the fracture is open, the variation in fluid pressure must be equal to that under normal stress, and shear stress must be equal to zero. According to Zhou’s study (Zhou et al. 2016), fracture strain can be calculated analogous to Hook’s law. However, the stiffness matrix is negative, because the compression stress is defined as a negative value in the calculation:

$$\left\{ {\begin{array}{*{20}{c}} {\Delta {\varepsilon _{{\text{fn}}}}} \\ {\Delta {\varepsilon _{{\text{fs}}}}} \end{array}} \right\}=\left[ {\begin{array}{*{20}{c}} { - 1{\text{/}}E}&{\upsilon {\text{/}}E}&{\upsilon {\text{/}}E}&0 \\ 0&0&0&{ - 1/2G} \end{array}} \right]{\left\{ {\begin{array}{*{20}{c}} {\Delta {\sigma _{{\text{fn}}}}{\text{ or}} - \Delta {P_{\text{f}}}}&{\Delta {\sigma _{{\text{fm}}}}}&{\Delta {\sigma _{{\text{fl}}}}}&{\Delta {\tau _{{\text{fs}}}}} \end{array}} \right\}^{\text{T}}},$$
(13)

where n, m, and l are the local coordinate axes (Fig. 2).

2.3 Constitutive Models for Rock Elements with Multiple Fractures

Fracture interaction must be considered when a rock element contains multiple fractures. Several equivalent continuum expressions have been derived for two- and three-dimensional characterizations of multiple fracture sets. Gerrard (1982a, b) studied the equivalent elastic modulus of a rock mass consisting of orthogonal fracture sets. Furthermore, Fossum (1985) derived the elastic modulus that considered arbitrary fracture orientations. Their studies, with modifications, have been adopted for the present work. Fracture stress (normal and maximum shear stress) and strain (normal and maximum shear strain) components can be transformed from the coordinate stress and strain tensor (Eq. 14). Since the coordinate stress and strain tensor have six independent components, a maximum of three fracture set states can be described in one rock element with mathematical consistency (Eq. 15):

$$\left\{ {\begin{array}{*{20}{c}} {\Delta {{\mathbf{\sigma }}_{\text{f}}}={\mathbf{T}}\Delta {\mathbf{\sigma }}} \\ {\Delta {{\mathbf{\varepsilon }}_{\text{f}}}={\mathbf{T}}\Delta {\mathbf{\varepsilon }}} \end{array}} \right.,$$
(14)
$$\begin{gathered} \Delta {{\mathbf{\sigma }}_f}=\left\{ {\begin{array}{*{20}{c}} {\Delta {\sigma _{{\text{fn(1)}}}}}&{\Delta {\sigma _{{\text{fn(2)}}}}}&{\Delta {\sigma _{{\text{fn(3)}}}}}&{\Delta {\tau _{{\text{fs(1)}}}}}&{\Delta {\tau _{{\text{fs(2)}}}}}&{\Delta {\tau _{{\text{fs(3)}}}}} \end{array}} \right\} \hfill \\ \Delta {{\mathbf{\varepsilon }}_f}=\left\{ {\begin{array}{*{20}{c}} {\Delta {\varepsilon _{{\text{fn(1)}}}}}&{\Delta {\varepsilon _{{\text{fn(2)}}}}}&{\Delta {\varepsilon _{{\text{fn(3)}}}}}&{\Delta {\varepsilon _{{\text{fs(1)}}}}}&{\Delta {\varepsilon _{{\text{fs(2)}}}}}&{\Delta {\varepsilon _{{\text{fs(3)}}}}} \end{array}} \right\} \hfill \\ \Delta {\mathbf{\sigma }}=\left\{ {\begin{array}{*{20}{c}} {\Delta {\sigma _{xx}}}&{\Delta {\sigma _{yy}}}&{\Delta {\sigma _{zz}}}&{\Delta {\tau _{xy}}}&{\Delta {\tau _{yz}}}&{\Delta {\tau _{zx}}} \end{array}} \right\} \hfill \\ \Delta {\mathbf{\varepsilon }}=\left\{ {\begin{array}{*{20}{c}} {\Delta {\varepsilon _{xx}}}&{\Delta {\varepsilon _{yy}}}&{\Delta {\varepsilon _{zz}}}&{\Delta {\varepsilon _{xy}}}&{\Delta {\varepsilon _{yz}}}&{\Delta {\varepsilon _{zx}}} \end{array}} \right\} \hfill \\ {\mathbf{T}}=\left[ {\begin{array}{*{20}{c}} {l_{{{n_1}x}}^{2}}&{l_{{{n_1}y}}^{2}}&{l_{{{n_1}z}}^{2}}&{2{l_{{n_1}x}}{l_{{n_1}y}}}&{2{l_{{n_1}x}}{l_{{n_1}z}}}&{2{l_{{n_1}y}}{l_{{n_1}z}}} \\ {l_{{{n_2}x}}^{2}}&{l_{{{n_2}y}}^{2}}&{l_{{{n_2}z}}^{2}}&{2{l_{{n_2}x}}{l_{{n_2}y}}}&{2{l_{{n_2}x}}{l_{{n_2}z}}}&{2{l_{{n_2}y}}{l_{{n_2}z}}} \\ {l_{{{n_3}x}}^{2}}&{l_{{{n_3}y}}^{2}}&{l_{{{n_3}z}}^{2}}&{2{l_{{n_3}x}}{l_{{n_3}y}}}&{2{l_{{n_3}x}}{l_{{n_3}z}}}&{2{l_{{n_3}y}}{l_{{n_3}z}}} \\ {l_{{{s_1}x}}^{{}}l_{{{n_1}x}}^{{}}}&{l_{{{s_1}y}}^{{}}l_{{{n_1}y}}^{{}}}&{l_{{{s_1}z}}^{{}}l_{{{n_1}z}}^{{}}}&{l_{{{s_1}x}}^{{}}l_{{{n_1}y}}^{{}}+l_{{{s_1}y}}^{{}}l_{{{n_1}x}}^{{}}}&{l_{{{s_1}y}}^{{}}l_{{{n_1}z}}^{{}}+l_{{{s_1}z}}^{{}}l_{{{n_1}y}}^{{}}}&{l_{{{s_1}x}}^{{}}l_{{{n_1}z}}^{{}}+l_{{{s_1}z}}^{{}}l_{{{n_1}x}}^{{}}} \\ {l_{{{s_2}x}}^{{}}l_{{{n_2}x}}^{{}}}&{l_{{{s_2}y}}^{{}}l_{{{n_2}y}}^{{}}}&{l_{{{s_2}z}}^{{}}l_{{{n_2}z}}^{{}}}&{l_{{{s_2}x}}^{{}}l_{{{n_2}y}}^{{}}+l_{{{s_2}y}}^{{}}l_{{{n_2}x}}^{{}}}&{l_{{{s_2}y}}^{{}}l_{{{n_2}z}}^{{}}+l_{{{s_2}z}}^{{}}l_{{{n_2}y}}^{{}}}&{l_{{{s_2}x}}^{{}}l_{{{n_2}z}}^{{}}+l_{{{s_2}z}}^{{}}l_{{{n_2}x}}^{{}}} \\ {l_{{{s_3}x}}^{{}}l_{{{n_3}x}}^{{}}}&{l_{{{s_3}y}}^{{}}l_{{{n_3}y}}^{{}}}&{l_{{{s_3}z}}^{{}}l_{{{n_3}z}}^{{}}}&{l_{{{s_3}x}}^{{}}l_{{{n_3}y}}^{{}}+l_{{{s_3}y}}^{{}}l_{{{n_3}x}}^{{}}}&{l_{{{s_3}y}}^{{}}l_{{{n_3}z}}^{{}}+l_{{{s_3}z}}^{{}}l_{{{n_3}y}}^{{}}}&{l_{{{s_3}x}}^{{}}l_{{{n_3}z}}^{{}}+l_{{{s_3}z}}^{{}}l_{{{n_3}x}}^{{}}} \end{array}} \right], \hfill \\ \end{gathered}$$
(15)

where 1, 2, and 3 are the indexes of the three intersecting fracture sets; T is the transformation matrix; and lij = cos(i,j) is the cosine value of the angle between vector i and j.

Substituting Eq. (14) into Eq. (3), the constitutive model for multiple fractures is obtained:

$$\Delta {{\mathbf{\varepsilon }}_{\text{f}}}= - {\mathbf{TD}}{{\mathbf{T}}^{ - 1}}\Delta {{\mathbf{\sigma }}_{\text{f}}}= - {{\mathbf{D}}_t}\Delta {{\mathbf{\sigma }}_{\text{f}}},$$
(16)

where Dt is the elastic matrix for the fracture sets, and is expressed as follows:

$${{\mathbf{D}}_{\mathbf{t}}}=\left[ {\begin{array}{*{20}{c}} {{d_{11}}}&{{d_{12}}}&{{d_{13}}}&0&{{d_{15}}}&{{d_{16}}} \\ {{d_{21}}}&{{d_{22}}}&{{d_{23}}}&{{d_{24}}}&0&{{d_{26}}} \\ {{d_{31}}}&{{d_{32}}}&{{d_{33}}}&{{d_{34}}}&{{d_{35}}}&0 \\ 0&0&0&{{d_{44}}}&0&0 \\ 0&0&0&0&{{d_{55}}}&0 \\ 0&0&0&0&0&{{d_{66}}} \end{array}} \right].$$

The diagonal values of the Dt matrix describe the influence of stress on its related strain, while the non-diagonal values characterize the influences of other stress components. Since the orientation of the three fracture sets are arbitrary and probably not perpendicular to each other, a variation in shear stress on one fracture plane has contributions to the aperture variations of the other fractures. Therefore, d15, d16, d24, d26, d34, and d35 in the Dt matrix are not equal to zero.

2.4 Fracture Flow Model

Numerous studies investigating the flow behavior of rock fractures have been conducted in past decades using different types of rocks, including granite, basalt, marble, and sandstone. In theoretical analyses and numerical modeling, normally laminar flow has been assumed in a single fracture, and two fracture surfaces have been approximated using two parallel smooth planes. According to the Navier–Stokes equation, the average flow rate through a plane void can be calculated. It has been found that flow transmissivity is proportional to the cube of the aperture (cubic flow equation). In this work, a modified cubic flow equation developed by Witherspoon et al. (1980) was used. This equation considers an additional correction factor γ that accounts for the deviation from cubic flow due to fracture roughness:

$$q= - \frac{{bw_{{}}^{3}}}{{12\mu }}\frac{1}{\gamma }\frac{{{\text{d}}{P_f}}}{{{\text{d}}L}},$$
(17)

where q is the flow rate (m3/s); b is the fracture width (m); µ is the fluid dynamic viscosity (Pa s); L is the fracture length (m); and γ is the correction factor resulting from fracture roughness (–).

In comparison with the Darcy’s law, the permeability of a single fracture is a function containing the square of the aperture:

$${k_{\text{f}}}=\frac{1}{\gamma }\frac{{{w^2}}}{{12}},$$
(18)

where kf is the fracture permeability (m2).

In an equivalent continuum model, fracture permeability is expressed as a tensor. Nassir and Settar (2013) developed a permeability model of multiple fractures that considers the contribution of each fracture set.

$${k_{ij,f}}=\sum\limits_{N} {\frac{1}{{S\gamma }}\frac{{{w^3}}}{{12}}\left( {{\delta _{ij}} - {n_i}{n_j}} \right)} ,$$
(19)

where kij,f is the permeability tensor (m2); δij is the Kronecker tensor; n is the unit normal of fracture sets; and N is the number of fracture sets; \(i,j \in (x,y,z)\).

In addition to the momentum equation, the mass conservation equation is required to solve the pressure and velocity field. Since the variation in fracture volume has significantly greater influence on the pressure change than the fluid compressibility, the fluid was assumed to be incompressible in this work.

$$\frac{{\partial {V_{\text{f}}}}}{{\partial t}}+{Q_{\text{s}}}+\nabla q=0,$$
(20)

where Vf is the fracture volume (m3); and Qs is the source term (m3/s).

By substituting Eqs. (17) and (19) into Eq. (20), the following pressure conduction equation was obtained:

$$\frac{{\partial {V_{\text{f}}}}}{{\partial t}}+{Q_{\text{s}}}=\nabla {k_i}_{{j,f}}A\nabla {P_{\text{f}}},$$
(21)

where A is the connection area of the two neighbor elements (m2).

2.5 Fracture Propagation

The element in the numerical modeling was categorized into three groups, fracture element, intact rock element, fracture tip element. Fracture element contains fracture. Intact rock element has no connection to the fracture element. Tip element is between the fracture element and the intact rock element. Propagation criterion was used in the tip element to determine whether the tip element was fractured. If the tip element was fractured, it was changed to the fracture element and its adjacent intact rock element was changed to the new tip element. As a result, the fracture propagated. To describe the fracture propagation, a linear cohesive zone model was used. The quadratic nominal stress law was adopted to combine both the shear and the tension failure modes. Damages initiate when a quadratic interaction function involving nominal and shear stress ratios reaches the value of one (Eq. 22, Camcho and Ortiz 1996):

$${\left\{ {\frac{{\left\langle {{t_{\text{n}}}} \right\rangle }}{{{t_{{\text{n0}}}}}}} \right\}^2}+{\left\{ {\frac{{{t_{\text{s}}}}}{{{t_{{\text{s0}}}}}}} \right\}^2}+{\left\{ {\frac{{{t_{\text{t}}}}}{{{t_{{\text{t0}}}}}}} \right\}^2}=1.$$
(22)

where tn, ts, and tt represent the actual values of the normal and the tangential tractions; tn0, ts0, and tt0 are the cohesive strengths; and <> is the Macaulay bracket.

Fractures in a hydraulic fracture network can be categorized into two groups based on the propagation orientation. One is with a fixed direction, such as a bedding plane and interface. The other is with an arbitrary orientation, such as a hydraulic fracture. The orientation of the arbitrary propagating fracture was assumed to be perpendicular to the direction of the maximum principal stress.

3 Numerical Formulation and Implementation

A solution strategy is of great importance to solve the complex hydro-mechanical (HM) coupled equation system. Choosing an appropriate schema can be valuable. At present, the commonly used solution schemas are fully coupled, iteratively coupled, and sequentially coupled (Cai et al. 2016; JHa and Juanes 2007; Kim et al. 2012). Each of them has their own advantages and disadvantages, depending on what kind of problems are to be solved. A fully coupled solution schema provides high accuracy, but low running speed. In addition, the convergence of the solution is sensitive to the fully coupled coefficient matrix constructed using different physical processes. A sequential coupled solution possesses high running speed, but the accuracy is significantly reduced. This reduction in accuracy occurs particularly in problems with strong coupling effects, such as when solving HM problems of rock fractures using a sequential coupled schema, where variations in the fracture volume induced by imposed pressure may differ from variations in fluid volume in the system (mass conservation is not kept). Second, a strong change in the fracture volume may cause negative pressure in the flow calculation. For HM problems of rock fractures on a reservoir scale, an iteratively coupled schema is strongly recommended (Kim et al. 2011; Asadi et al. 2014). An iteratively coupled schema was adopted for this work because of its unconditional convergence, similar in accuracy to that of fully coupled solution schemas. In addition, this type of schema has a relatively high running speed.

Figure 3 shows the flow chart of the solving procedure. The solution begins with model initiation. Then, the pressure conduction equation (Eq. 21) is solved using the FVM in an implicit formulation.

$$\sum\limits_{{i=1}}^{n} {\frac{{{k_i}{A_i}}}{{\Delta {L_i}}}{P_{{\text{fi}}}}} (t+1) - \sum\limits_{{i=1}}^{n} {\frac{{{k_i}{A_i}}}{{\Delta {L_i}}}{P_{{\text{fo}}}}(t+1)={Q_{{\text{so}}}} - } \frac{{\Delta {V_{\text{f}}}(t+1)}}{{\Delta t}},$$
(23)

where t and t + 1 indicate the current and next time step, respectively; Pfo and Pfi are the fluid pressure in a center element and its neighbor elements, respectively; and n is the number of the neighbor elements.

Fig. 3
figure 3

Flow chart of the solving procedure

According to the continuum theory, an increment in the fracture volume is equal to an increment in the rock volume induced by a normal strain:

$$\Delta {V_{\text{f}}}=\left( {\Delta {\varepsilon _{{\text{fn(1)}}}}+\Delta {\varepsilon _{{\text{fn(2)}}}}+\Delta {\varepsilon _{{\text{fn(3)}}}}} \right){V_{\text{r}}},$$
(24)

where Vr is the volume of a rock element (m3).

To solve Eq. (23) numerically, the variation in the fracture volume is treated specially. The fracture constitutive model was used to replace the fracture normal strain in Eq. (24) using fluid pressure. However, the fracture state must first be determined as to whether it is under contact or in an open condition. Determination of the fracture state is based on the relationship between fluid pressure and normal stress acting on the fracture planes. When the fluid pressure is smaller than the normal stress, the fracture is in a contact condition. By combining Eqs. (11) and (16), the following relationships (Eq. 25) are obtained, in which a change in normal stress and fluid pressure are implicitly expressed, while a change in shear stress is explicitly expressed from the previous step for a simple computation. The calculation accuracy of such processing can be improved using sub-iterations.

$$\left\{ \begin{gathered} \Delta {P_{\text{f}}}(t+1)+{k_{\text{n}}}S\Delta {\varepsilon _{{\text{dil}}(i)}}(t)=\left( { - {k_n}S{{\mathbf{D}}_{{\text{t(}}ij)}} - {\delta _{ij}}} \right)\Delta {{\mathbf{\sigma }}_{{\text{f}}(j)}}(t+1)= - {{\mathbf{G}}_{{\text{(}}ij)}}\Delta {{\mathbf{\sigma }}_{{\text{f}}(j)}}(t+1) \hfill \\ \Delta {\tau _{{\text{f(i)}}}}(t)+{k_{\text{s}}}S\Delta \varepsilon _{{{\text{fs}}(i)}}^{{{\text{plas}}}}(t)= - {k_n}S{{\mathbf{D}}_{{\text{t(}}ij)}}\Delta {\tau _{{\text{f}}(j)}}(t+1)= - {{\mathbf{G}}_{{\text{(}}ij)}}\Delta {\tau _{{\text{f}}(j)}}(t+1) \hfill \\ \end{gathered} \right..$$
(25)

When the fracture is open, a similar expression is obtained according to Eq. (16):

$$\left\{ \begin{gathered} \Delta {P_{\text{f}}}(t+1)= - {\delta _{(ij)}}{{\mathbf{\sigma }}_{{\text{f}}(j)}}(t+1)= - {{\mathbf{G}}_{{\text{(}}ij)}}\Delta {{\mathbf{\sigma }}_{{\text{f}}(j)}}(t+1) \hfill \\ \Delta {\tau _{{\text{f}}(i)}}(t)= - {\delta _{(ij)}}\Delta {\tau _{{\text{f}}(j)}}(t+1)= - {{\mathbf{G}}_{{\text{(}}ij)}}\Delta {\tau _{{\text{f}}(j)}}(t+1) \hfill \\ \end{gathered} \right..$$
(26)

Equations (25) and (26) can be rewritten together:

$$\Delta {{\mathbf{P}}_{\text{f}}}+\left\langle f \right\rangle \Delta \sigma _{{\text{f}}}^{{{\text{plas}}}}(t)= - {\mathbf{G}}\Delta {{\mathbf{\sigma }}_f}(t+1),$$
(27)

where \(\Delta {\mathbf{P}}_{{\text{f}}} = \left\{ {\Delta P_{{\text{f}}} (t + 1)\;\Delta P_{{\text{f}}} (t + 1)\;\Delta P_{{\text{f}}} (t + 1)\;\Delta \tau _{{{\text{fs(1)}}}} (t)\;\Delta \tau _{{{\text{fs(2)}}}} (t)\;\Delta \tau _{{{\text{fs(3)}}}} (t)} \right\}.\)

Substituting Eq. (27) into Eq. (16), a relationship between fluid pressure and fracture strain is obtained, which can be further used in Eqs. (23) and (24) to solve for the pressure field at step t + 1.

$$\Delta {{\mathbf{\varepsilon }}_{\text{f}}}(t+1)={{\mathbf{D}}_t}{{\mathbf{G}}^{ - 1}}\left( {\Delta {{\mathbf{P}}_{\text{f}}}(t+1)+\left\langle f \right\rangle \Delta {\mathbf{\sigma }}_{{\text{f}}}^{{{\text{plas}}}}(t)} \right).$$
(28)

After the flow calculation, the mechanical part is conducted. The Lagrangian formulation is adopted to solve mechanical problems (Bonet and Burton 1998). In this formulation, first-order derivatives of space and time, such as in Eqs. (1) and (2), are approximated using linear finite difference expressions. The motion of a continuum element is replaced by a discrete equivalent one in which the motion of grid points is brought into focus (Eq. 28).

$${m_{(i)}}\left( {\frac{{\Delta {{\mathbf{v}}_{(i)}}}}{{\Delta {t_{\text{m}}}}}} \right)={{\mathbf{F}}_{{\text{a}}(i)}}+{{\mathbf{F}}_{{\text{d}}(i)}}=\left( {{{\mathbf{T}}_{(i)}}+\mathbf{B}{}_{{(i)}}+{\mathbf{F}_{{\text{ext}}(i)}}} \right)+{{\mathbf{F}}_{{\text{d}}(i)}}={{\mathbf{F}}_{{\text{unbal}}}},$$
(29)

where i is the id of grid points; m is the nodal mass (kg); v is the velocity vector of grid points; tm is the mechanical time (s); Fa is the action force vector (N); Fd = −αFa is the damping force vector (N); Funbal is the unbalance force vector (N); α is the damping coefficient (–); T is the internal force vector calculated using the integral of stresses over element volume (N); B is the volumetric force vector (N); and Fext is the external force vector (N).

The total forces acting at a grid point consist of four components. They are an external force, an internal force calculated by stresses, a body force, and a damping force. According to Eq. (27), a change in fluid pressure causes a change in stresses, which further affects the loading force at a grid point. The stress increment estimated in the flow calculation is then brought into Eq. (29) to explicitly calculate the grid point velocity, increment of displacement, and the strain and stress based on Eqs. (2) and (3) in this mechanical time step. It should be noted that the mechanical time is a virtual physical time that is used for mechanical damping from a dynamic state to a quasi–static state. The mechanical calculation terminates when the maximum unbalance force from all the grid points meets a given error tolerance. More solution details can be found in the commercial software FLAC3D (2008) manual.

The stress increment estimated using the flow calculation can differ from that calculated using mechanical calculation. The error can be reduced using sub-iterations that add the error stress into Eq. (27).

$$\Delta {{\mathbf{\varepsilon }}_{\text{f}}}(t+1)(k+1)={{\mathbf{D}}_t}{{\mathbf{G}}^{ - 1}}\left( {\Delta {{\mathbf{P}}_{\text{f}}}(t+1)+\left\langle f \right\rangle \Delta {\mathbf{\sigma }}_{{\text{f}}}^{{{\text{plas}}}}(t)+\Delta {{\mathbf{\sigma }}_{{\text{error}}}}(t+1)(k)} \right),$$
(30)

where \(\Delta {{\mathbf{\sigma }}_{{\text{error}}}}=\Delta {{\mathbf{\sigma }}_{{\text{f(mech)}}}} - \Delta {{\mathbf{\sigma }}_{{\text{f(hydro)}}}}\); and k is the sub-iteration steps from flow time t to time t + 1.

4 Verifications

4.1 Mechanical Interaction Between Two Orthogonally Intersecting Fractures

In this verification, the mechanical interaction of two orthogonally intersecting fractures is modeled. The two fractures were 20 m long and set at the middle of a 100 ⊆ 100 m block (Fig. 4a). An isotropic stress state of 10 MPa was initialized in the block. Meanwhile, the boundaries of the block remained fixed. A constant fluid pressure of 15 MPa was imposed on the surfaces of the two fractures. Other parameters are listed in Table 1.

Fig. 4
figure 4

a Geometrical model, boundary, and initial conditions; b mesh used in the commercial software FLAC3D; c mesh used in the developed model for verification example 1

Table 1 Calculation parameters in verification example 1

Since the fluid pressure was greater than the initial stress perpendicular to the fractures, the fractures were forced to open. At the same time, the opening of the fractures caused deformation of the neighboring rock formation. There exists no analytical solution for this example, so the commercial software FLAC3D was employed for comparison. However, this modeling concept is different. In FLAC3D, a discontinuum model is generated in which the fractures are simulated using two separated surfaces (Fig. 4b). Then, a fixed stress equal to the fluid pressure is applied on the surfaces. In the pseudo continuum model developed in this study, there is no explicit representation of fractures. Fractures are embedded in the elements (Fig. 4c). In addition, fluid pressure is directly used for the calculation instead of boundary stress.

Figure 5 shows a comparison of the x-displacement contour calculated by FLAC3D and the developed model. Both present a similar butterfly distribution. According to the distribution, it is obvious that the maximum value is not at the cross point, indicating that there were interactions between intersecting fractures. The maximum values of the displacement have slight differences according to the legend. The reason is that the maximum value obtained in FLAC3D was located at the grid points on the fracture surface, while in the developed model it appeared at the grid points of the elements containing fractures. Since there were no fracture grid points with displacement values inside the fracture elements, the displacement of the fracture surfaces could not be explicitly displayed (Fig. 4b). However, when comparing the aperture distribution along fracture 1, both results were comparable (Fig. 6). Therefore, it can be concluded that the model was validated to simulate the mechanical interactions of intersecting fractures.

Fig. 5
figure 5

Distribution of the x-displacement calculated by a FLAC3D and b the developed model for verification example 1

Fig. 6
figure 6

Comparison of the aperture distribution of fracture 1 calculated by FLAC3D and the developed model for verification example 1

4.2 Hydro-mechanical Coupled Transient Flow in a Hydraulic Fracture

In this verification, the hydraulic fracturing under a plain strain state was simulated. Figure 7 shows the geometrical model and the boundary conditions. The bottom and the left sides of the model were fixed in the normal direction, while normal stresses of 5 MPa and 3.7 MPa were applied on the right and the top sides, respectively. Fluid was injected into the middle of the left side at a rate of 0.0005 m3/s. Other parameters are listed in Table 2.

Fig. 7
figure 7

Geometrical model and boundary conditions for verification example 2

Table 2 Calculation parameters for verification example 2

Since the minimum horizontal stress is in the y-direction, the fracture will propagate in the x-direction. According to the propagation criterion, the fluid pressure in the fracture must be greater than the normal stress acting on the fracture, indicating that the fracture is in an open condition. For this problem, Bunger et al. (2005) provided a semi-analytical solution. Figure 8a, b illustrates the temporal development of the fracture propagation and the aperture distribution along the fracture propagation path at t = 10 s, respectively. Both the numerical and the semi-analytical solutions were comparable. The reason for the slight difference lies in the fact that the numerical results of the fracture propagation were calculated step by step, so the values are discrete. In summary, it can be concluded that the developed model was able to simulate the hydro-mechanical coupled transient flow and propagation in an open fracture.

Fig. 8
figure 8

a Temporal development of the fracture propagation; b aperture distribution along the fracture propagation path at t = 10 s for verification example 2

5 Numerical Investigation of Complex Hydraulic Fracture Propagation in an Underground Coal Mine

The Datong underground coal mine is located in Songzao in Chongqing in southwest China with an annual production over 2 million tons. This coal mine has extremely high methane content (around 15–20 m3/ton with an average gas pressure about 4 MPa) and thus high risk for gas outburst. Before coal mining, the concentration of the methane must be reduced to prevent potential disaster. Since hydraulic fracturing is more effective for gas extraction, it was chosen to enhance the gas drainage. In panel 2709 in west part of the coal mine, a hydraulic fracturing operation was conducted that was used in the numerical simulation. The average depth, thickness, and inclination of the coal seam in this panel are approximately 500 m, 3 m, and 15°, respectively.

The hydraulic fracturing operation in underground coal mines is different from operations that occur on the surface. Operation equipment was placed underground. Before coal mining, a contact roadway was excavated below (sometimes above) the coal seam (Fig. 9). Then a vertical borehole was drilled from the road way to the coal seam. Several observation boreholes were placed on both sides of the injection borehole in the inclination direction and the single side in the strike direction. Since the underground space was limited, the size and the power of the pump were also limited. Thus, the pumping rate (normally 0.3–0.4 m3/min in this coal mine) was significantly smaller than that used in surface fracturing operations (normally 3–8 m3/min). In this operation, a pumping rate of 0.36 m3/min was applied. The operation time was 300 min. After the operation, hydraulic fracturing fluid was observed in the observation boreholes in both the inclination and strike direction (Fig. 9). In the strike direction, the propagation half-length is more than 30 m. Meanwhile, the half-length is between 20 and 30 m in the lower part of the inclination direction and more than 30 m in the upper part of the inclination direction. It can be concluded that the fracture propagated mainly horizontally, which was also observed in the laboratory experiments (Anderson 1981; Teufel and Clark 1984; Abass et al. 1990; Jiang et al. 2016; Huang and Liu 2017; Tan et al. 2017; Wu et al. 2018). However, the fracture geometry was not accurately determined because of limited number of observation boreholes, and the fracture propagation exceeded the farthest observation boreholes. In addition, the fracture shape (T, Z, H, #) was not clear due to lack of data. Therefore, it is of great importance to conduct a three-dimensional numerical simulation towards understanding the basics of the hydraulic fracturing in coal seam and the parameters affecting the fracture propagation and shape.

Fig. 9
figure 9

Geometrical model used for the numerical investigation

5.1 Model Generation

In the numerical modeling, a simple geometrical model was generated, as shown in Fig. 9. It had dimensions of 150 m (x) × 150 m (y) × 68 m (z) and consisted of several homogeneous rock layers with an inclination angle of 15° in the x-direction. Two fracture sets (bedding plane + hydraulic fracture, interface + hydraulic fracture) were applied in the coal layer and one fracture set (hydraulic fracture) was used in other rock layers. Bedding plane was set in the coal layer with a spacing of 0.1 m, and two interfaces were set at the boundary of the coal layer. Both bedding plane and interfaces had a fixed orientation parallel to the inclination. Hydraulic fracture was created with an arbitrary orientation during the simulation. It was assumed that one rock element can contain only one single hydraulic fracture, therefore the fracture spacing for the single hydraulic fracture is equal to the characteristic length of the element. The rock parameters that were used in the simulation are listed in Table 3. It should be noted that the natural fractures and faults in the coal and rock formation were neglected due to lack of data. However, they can affect the fracture propagation. The main concern of this paper is the fracture propagation pattern and complexity induced by the interaction of the bedding plane, interface and hydraulic fracture. In the future work, the influence of the natural fractures and faults should be investigated.

Table 3 Rock and interface parameters used in the numerical simulation

For boundary conditions, a vertical stress of 13.8 MPa was applied on the top of the model, and the left sides were fixed in their normal direction. The primary stress state was important in the simulation; however, it was not measured at the test site in the coal mine. The vertical stress was assumed to be the maximum principal stress. It was calculated using an integration of the rock density over the depth. The minimum horizontal stress was in a direction parallel to the horizontal component of the layer inclination vector (x-direction). The minimum horizontal stress was computed by multiplying the vertical stress and the lateral stress coefficient v/(1 − v). Additionally, an average tectonic stress of 5 MPa was added to the minimum horizontal stress which was determined through history matching of the injection pressure. The maximum horizontal stress was in the y-direction. For simplification, it was assumed to be 1.25 times the minimum horizontal stress.

5.2 Numerical Results

Figure 10 presents a comparison of the numerical and the measured injection pressures. Both were comparable in the stationary propagation stage. The measured pressures seemed to fluctuate more, as underground geological conditions are more complicated than in the model generated in the simulation. The explanation for why the measured pressures rose at the later injection stage is still unclear due to lack of information. The reason may due to fracture propagation toward unknown fracture barriers where the stress and the strength were high.

Fig. 10
figure 10

Comparison of numerical and measured injection pressures

Figure 11 illustrates the evolution of the fracture pattern during the injection. In general, the 3D fracture pattern was more complicated than in a 2D case. The fracture propagated in both the horizontal and vertical directions, however, the vertical propagation was limited by the thickness of the coal seam, and the horizontal propagation was not radially symmetric. Since the minimum principal stress was in the x-direction, a main hydraulic fracture was vertically generated and propagated in the y-direction (t = 0–60 min). In the meantime, the bedding plane was also opened. Due to the influence of the main hydraulic fracture, the fracture propagated elliptically on the bedding plane, with the long axis in the y-direction. Later, another two main hydraulic fractures were generated within a certain distance of the first one, and the interfaces were also broken. Finally, a cross-cutting fracture network was formed. The maximum length of the main hydraulic fracture was approximately 117.6 m. In addition, the form of the broken bedding plane and interfaces had an approximate elliptic dimension of 30.3 m (x) × 77.8 m (y). It should be noted that the fracture propagation in the inclination direction was more preferable in the upward direction, as the resistance (acting stress) was lower. This is also confirmed by the in situ observation.

Fig. 11
figure 11

Evolution of the fracture pattern during the injection

Figure 12 shows a cross-section of the fracture pattern crossing the injection point in the inclination direction. It is obvious that the fracture pattern was more complex than a cross-cutting shape. Between the main hydraulic fractures, some branch hydraulic fractures were also created. The orientation of the branch fractures deviated from the vertical direction because of the strong stress shadow effect from the main hydraulic fractures. The stress shadow effect also had an influence on the failure of the interfaces. The fracture propagation on the upper interface was hindered in the downward direction, while the fracture propagation on the lower interface was hindered in the upward direction.

Fig. 12
figure 12

Illustration of the fracture pattern and the fracture cross-section at the injection point in the inclination direction at t = 300 min

5.3 Parameter Study

The effect of multiple parameters on fracture propagation and shape was studied based on the numerical simulation conducted in Sect. 5.2. These parameters included the primary stress orientation, the primary stress difference and the injection rate.

5.3.1 Effect of the Primary Stress Orientation

In this sub-section, the effect of the stress orientation on fracture propagation is analyzed. Three stress orientations [x(σ3), y(σ2), z(σ1)), (x(σ2), y(σ3), z(σ1)), and (x(σ2), y(σ1), z(σ3)] were used for simulation and comparison. Figure 13 shows the fracture pattern at the end of the injection using different stress orientations. It is obvious that the orientation of the principal stress controlled the main propagation direction of the fracture network. In general, the main propagation direction was perpendicular to the minimum principal stress. However, the fracture height was limited by the thickness of the coal seam. When the minimum principal stress was not in the vertical direction (cases a and b) or perpendicular to the bedding plane and interface, a complex fracture network including hydraulic fractures, bedding planes, and interfaces was created. In case where the minimum principal stress was perpendicular to the bedding plane and interfaces (case c), only the bedding plane was cracked and the propagation tended toward radial symmetry.

Fig. 13
figure 13

Illustration of the fracture pattern at the end of the injection using different stress orientations

5.3.2 Effect of the Primary Stress Difference

In this sub-section, the influence of the stress difference between the vertical and the minimum horizontal stress on the fracture propagation was studied. Two variations of stress difference (△σVh = 3.5 MPa and △σVh = 6.5 MPa) were used for the simulation. Figure 14 shows the fracture pattern and a cross-section of the injection point in the inclination direction at the end of the injection. The fracture pattern under low stress difference was complex with many arbitrary oriented branch fractures, whereas the fracture pattern under high stress was relatively regular. When the stress difference was high, the first main hydraulic fracture crossing the injection point dominated at the beginning. The bedding plane was difficult to crack because of the relatively higher stress acting on it and the strong stress shadow effect from the main fracture. As the rock layer is difficult to crack, the stress was concentrated at the boundary of the coal and the rock layers. Therefore, the interfaces could still be fractured. During the propagation of the interfaces, some secondary main hydraulic fractures and branch fractures were created. Because of the high stress difference, the orientation of the secondary main hydraulic fractures and branch fractures was almost identical and perpendicular to the primary minimum horizontal stress. Finally, a fracture network containing one main Z-form and many sub T-form patterns were created.

Fig. 14
figure 14

Illustration of the fracture pattern and the fracture cross-section at the injection point in the inclination direction at the end of the injection using aσVh = 3.5 MPa and bσVh = 6.5 MPa

5.3.3 Effect of the Injection Rate

As mentioned in Sect. 5.1, the injection rate for the underground fracturing operation was much lower than that of the surface operation due to the space limitation. In this simulation, the injection rate used in the base case was increased 10 times (from 0.36 to 3.6 m3/min). Figure 15 shows a comparison of the fracture pattern and the fracture section between q = 0.36 m3/min and q = 3.6 m3/min. In general, a high injection rate led to a high injection pressure. Due to the strong stress shadow effect generated by the main hydraulic fracture, the cracking of the bedding plane and the creation of the secondary main hydraulic fractures and branch fractures were hindered. However, the interfaces were cracked because of the high stress concentration at the boundary between the coal and the rock layers. Finally, a Z-form fracture pattern was generated.

Fig. 15
figure 15

Illustration of the fracture pattern and the fracture cross section at the injection point in the inclination direction at the end of injection using aq = 0.36 m3/min and bq = 3.6 m3/min

5.4 Discussion

According to the numerical results, it is obvious that the fracture created by the hydraulic fracturing operation consists of hydraulic fracture, bedding plane and interface, forming a fracture pattern more complex than the ideal cross-cutting-shape, H-shape, T-shape, and Z-shape patterns. The fracture height was limited by the coal seam thickness and driven to propagate in the horizontal direction due to the existence of the weak bedding plane and interface, the stress, deformation and strength difference between the coal and the rock formation. This is good for enhancement of the coal seam permeability in a large range. The major axis of the fracture pattern is controlled by the in situ stress orientation and parallel to the maximum horizontal stress. Therefore, the stress orientation should be considered in the designing stage, especially when a set of hydraulic fracturing operations are planned. In addition, the influence of the layer inclination must be also taken into account. As a result, the influence range of the hydraulic fracturing operations can be maximized. The complexity of the fracture pattern is another factor affecting the effectiveness of the hydraulic fracturing operation. Since the coal permeability is extremely low with high gas adsorption content, complex fracture pattern with multi-cross-cutting-shape formed by bedding plane and branch hydraulic fractures is generally preferred. As a result, high injection rate should be avoided because it prevents creation of the branch fractures and opening of the bedding plane due to the strong stress shadow effect of the primary vertical hydraulic fracture. The in situ stress also controls the shape of the fracture pattern. When the vertical stress is much higher than the horizontal stress, the bedding plane is not possible to open, reducing the complexity of the fracture pattern and the gas desorption. In that case, adequate technologies can be used to change the in situ stress field, e.g., using directional hydraulic slot (Lu et al. 2010) or borehole to reorient the fracture propagation in a certain direction. However, the critical influence range of the directional hydraulic slot or borehole should be determined.

6 Conclusions

In this work, we presented a 3D numerical model to simulate the fully coupled hydro-mechanical interactions of multiple fractures containing hydraulic fractures, natural fractures, bedding planes and interfaces. A constitutive model based on pseudo continuum concept was developed to describe the mechanical behavior of a calculation element containing maximum three sets of fractures. The numerical model was numerically formulated and solved by a combination of the EEM and the FVM methods. An iteratively coupled solution schema with relatively high accuracy and running speed was used to overcome the strong hydro-mechanical coupled effect in the calculation. Two verification examples were presented to address the different aspects of the developed model by comparing with the numerical and the semi-analytical solutions. The first example was about mechanical interaction between two orthogonally intersecting fractures and the second was about hydro-mechanical coupled transient flow in a hydraulic fracture. According to the two examples, the mechanical interaction of fracture sets and the fracture propagation were verified. The developed model can be used to simulate hydraulic fracture propagation in coal seam, deep geothermal reservoir, tight and shale gas reservoir. In this work, the hydraulic fracture propagation in an underground coal mine was studied. According to the study, the following conclusions about fracture propagation in coal mine were obtained:

  1. 1.

    3D hydraulic fracture propagation is more complicated than in the 2D case. It includes hydraulic main fractures, branch fractures, bedding plane, and interfaces, and forms a fracture network more complex than the ideal cross-cutting-shape, H-shape, T-shape, and Z-shape patterns. The main hydraulic fracture propagated faster in the direction perpendicular to the minimum principal stress, however, its height was limited by the thickness of the coal seam. The interfaces and the bedding plane cracked in an elliptic form due to the influence of the main hydraulic fractures. In the inclination direction, the fracture propagated more in the upward direction.

  2. 2.

    The orientation of the minimum principal stress controlled the main propagation direction. In general, the main propagation direction was perpendicular to the minimum principal stress. When the minimum principal stress was not perpendicular to the bedding plane and the interfaces, a complex fracture network including the hydraulic fracture, the bedding plane, and the interface was created. In the case where the minimum principal stress was perpendicular to the bedding plane and interfaces, only the bedding plane cracked, and the propagation tended toward a radial symmetry. A high stress difference made the fracture pattern relatively regular, as the orientation of the main hydraulic fractures and the branch fractures were almost identical and perpendicular to the primary minimum principal stress.

  3. 3.

    The complexity of the fracture pattern is controlled by the geological structure, the in situ stress and the injection rate. To create a complex fracture pattern with multi-cross-cutting-shape formed by bedding plane and branch hydraulic fractures, high injection rate should be avoided, and adequate technologies can be used to change the in situ stress in certain distance, reorienting the fracture propagation.