1 Introduction

Two-phase flow problems in fractured porous media are of capital importance in environmental and engineering fields, such as gas and oil exploitation, CO2 geological storage, geothermal extraction, and contaminant migration [1,2,3,4,5], where the occurrence and interaction of multiphase is predominant (e.g., between water, oil, or/and gas). A sound understanding of the two-phase flow characteristic in the complex geomechanical material is fundamental to optimization and safety of these engineering projects.

The flow mechanism in fractured porous media remains a challenging topic, especially when fractures are introduced [6,7,8,9]. Though fractures make up a very small portion of the subsurface volume, they are often primary conduits that dominate flow and transport behavior, resulting in strongly heterogeneous and anisotropic flow behavior [10, 11]. Recently, numerical methods have become attractive for such complex problems as their high efficiency and low cost, which has led to the development of various conceptual models to describe fluid flow in fractured media [12,13,14]. Generally, these models can be divided into two main approaches [15,16,17,18,19]: continuum and discrete models. In the continuum models (e.g., single-, dual- and multi- permeability continuum models [20,21,22]), the fractured domain is homogenized into continuum media with equivalent parameters. Although this approach is computationally efficient, it hardly reproduces the complex flow affected by individual fractures. The discrete models (e.g., discrete fracture–matrix model [23, 24], embedded discrete fracture model [25, 26]) on the other hand consider the exact geometries of individual fracture, and explicitly account for their hydraulic properties. However, the discrete models are computationally expensive and modeling the flow exchange at fracture–matrix interface is still challenging. This is crucial in the two-phase flow as it considers different capillary pressure characteristics and relative permeability curves between the rock matrix and fracture [16, 27]. External conditions (e.g., extended capillary pressure condition [28, 29] and cross-flow equivalent condition [27, 30]) are adopted to approximate the fluid interchange at the fracture–matrix interface; however, they always ignore either pressure, saturation, or flux discontinuities across fractures and hardly represent the real situation.

Another key factor deserving more attention is the dynamic coupling of the two-phase flow and geomechanics (known as hydro-mechanical coupling) [7, 31,32,33,34,35]. The interstitial fluid exerts forces on the surrounding rocks, resulting in the deformation or even fracturing; In return, the stress-induced changes in matrix porosity and fracture aperture alter permeability and affect the two-phase flow within the fractured media. Properly considering the two-way coupling is important to accurate simulations. Although numerous HM coupling models have been developed for single-phase flow problems [36,37,38,39], only a few attempts have been made to multiphase flow. Ucar et al. [40] enriched the finite volume method to simulate the reservoirs deformation induced by fluid injection. Liu et al. [41] proposed a mixed finite volume-finite element method for two-phase flow in fractured and karstified media under coupled HM conditions, where a modified Barton–Bandis’s model is used to mimic the nonlinear fracture deformation. Ren et al. [31, 42] and Khoei et al. [20, 43] developed the extended finite element method to simulate coupled multiphase flow and geomechanics response of fractured tight gas reservoirs. Ma and Ren [30, 44] and Sun [3] combined the numerical manifold method and unified pipe-network model to simulate the two-phase flow in geological media together with geomechanical effect, which were then applied to CO2 storage and geothermal exploration. Ma et al. [45, 46] applied the well-established multiphysics coupling simulators (TOUGH-FLAC) for coupled multiphase flow and geomechanical simulations. Compared to the single-phase flow, two-phase flow is more sophisticated, because the flow regimes are determined by a range of factors, including relative permeability of each fluid phase, and capillary pressure characteristics of the rock matrix and fracture [16, 27]. High-permeable fractures may act as barriers or conduits, depending on the saturation, in the presence of two-phase flow. Published studies provide a good understanding of the coupled HM two-phase flow simulation; however, some limitations still exist, e.g., the pressure/saturation/flux discontinuity across the fracture and rock fracturing process are rarely considered.

In this work, we aim to overcome these limitations by proposing a coupled hydro-mechanical numerical framework capable to model the complex coupled two-phase flow/geomechanical processes in fractured porous media, and, specifically, to consider the fracture–matrix exchange flow and the fracturing process. To this end, two main solvers are developed and coupled (detailed in Sect. 3): (i) the mechanical solver (FDEM) [47,48,49], which captures the geomechanical behavior (e.g., deformation and fracturing) of rocks; and (ii) the two-phase flow solver (a finite volume discrete fracture–matrix model (FV-DFM)), which simulates the flow in complex fractured porous media. Particularly, together with the explicit fracture representation, we proposed a two-phase exchange fluid model to explicitly simulate the fluid transfer at matrix–fracture interface, which inherently captures pressure, saturation, and flux discontinuity at the interfaces without additional assumptions. The most essential interactions between the rocks and two-phase fluids are addressed, including the deformation and fracturing induced by the fluid pressure, stress-dependent matrix porosity and fracture aperture, as well as relative permeability and capillary pressure variation induced by the geomechanical effect. The advantage of the proposed two-phase exchange fluid model over conventional external conditions [27,28,29,30] is illustrated in Sect. 4. In Sect. 5, elaborate validations are performed to demonstrate the versatility and capability of the proposed model, and parametrical studies (such as capillary pressure, viscosity ratio, mesh sensitivity) and HM coupling effect are also discussed. The applicability of the model to practical engineering problems (waterflooding operation) is also demonstrated, where both growing and existing fractures are modeled. Conclusions are drawn in Sect. 6.

2 Mathematical model

This section describes the mathematical model of the coupled HM two-phase flow model, which accounts for the momentum equilibrium for the solid phase and the flow continuity for each fluid phase, as well as auxiliary conditions. To facilitate the modeling, following assumptions are made: (1) the porous matrix and fractures are saturated with wetting (e.g., water) and non-wetting (e.g., oil, CO2) phases; (2) in both rock matrix and fractures, the fluid flow obeys Darcy’s law; and (3) the effects of interfacial tension can be approximated using the concepts of relative permeability and capillary pressure.

2.1 Mass conservation for fluid phase

The mass conservation of the two-phase flow in fractured porous media is [50]:

$$\begin{array}{*{20}c} {\frac{\partial }{\partial t}(\phi^{\alpha } S_{i} \rho_{i} ) + \nabla \cdot (\rho_{i} {\mathbf{v}}_{i} ) = \rho_{i} q_{i} ,} & {i = w,n} \\ \end{array} ,$$
(1)

where t is the time; ∅ is the porosity; superscript α = m or f represents the matrix and fracture, respectively; ρi, Si and qi are the density, saturation, and sink/source term of the fluid phase i (subscript i = w or n represents the wetting and non-wetting phase, respectively); vi is the velocity vector, which obeys the linear momentum balance equation given by the extended Darcy’s law:

$$\begin{array}{*{20}c} {{\mathbf{v}}_{i} = \frac{{{\mathbf{K}}k_{ri} }}{{\mu_{i} }}(\nabla p_{i} - \rho_{i} g\nabla z),} & {i = w,n} \\ \end{array} ,$$
(2)

where K is the intrinsic permeability tensor; g is the gravity constant; z is the depth coordinate; kri and μi, are the relative permeability coefficient and viscosity of phase i, respectively.

Additionally, fluid density is related to pressure through compressibility term as [33]:

$$c_{i} = \frac{1}{\rho }\frac{{\partial \rho_{i} }}{{\partial p_{i} }}.$$
(3)

By substituting Eqs. (2) and (3) into (1), the mass balance equation can be rewritten:

$$\phi^{\alpha } \frac{{\partial S_{i} }}{\partial t} + \phi^{\alpha } S_{i} c_{i} \frac{{\partial p_{i} }}{\partial t} + \nabla \cdot (\frac{{{\mathbf{K}}k_{ri} }}{{\mu_{i} }}(\nabla P_{i} - \rho_{i} g\nabla Z)) = q_{i} .$$
(4)

2.2 Static equilibrium of solid

The quasi-static momentum equilibrium equation in the solid domain is [47, 51]:

$$\nabla {{\varvec{\upsigma}}} + {\mathbf{F}} = 0,$$
(5)

where σ is the stress tensor and F is the body force vector. The effective stress tensor can then be calculated [3, 52]:

$${{\varvec{\upsigma}}}^{\prime} = {{\varvec{\upsigma}}} + bp_{{{\text{avg}}}} {\mathbf{I}},$$
(6)
$$p_{{{\text{avg}}}} = S_{w} p_{w} + S_{n} p_{n} ,$$
(7)

where b is Biot coefficient; I is the identity tensor; pavg is the averaged two-phase pressure.

The effective stress is further linked to strain via the constitutive model:

$$d{{\varvec{\upsigma}}}^{\prime} = {\mathbf{D}}d{{\varvec{\upvarepsilon}}},$$
(8)

where D is the stiffness matrix; ε is the total strain, which is related to displacement vector (u):

$${{\varvec{\upvarepsilon}}} = (\nabla {\mathbf{u}} + {\mathbf{u}}\nabla )/2.$$
(9)

Combining Eqs. (5)–(9), the equilibrium equation for media saturated with two-phase fluid is:

$$\nabla (\frac{1}{2}D(\nabla {\mathbf{u}} + {\mathbf{u}}\nabla ) - b(S_{w} p_{w} + S_{n} p_{n} )) + {\mathbf{F}} = 0.$$
(10)

2.3 Auxiliary equations

Apart from the above governing equations, auxiliary equations are supplied to complement the mathematical model. Firstly, the voids (pores and fractures) are assumed to be saturated:

$$S_{w} + S_{n} = 1.$$
(11)

Coupling between two phases is captured through the interfacial tension (i.e., capillary pressure pc):

$$p_{c} = p_{n} - p_{w} .$$
(12)

Additionally, the relative permeabilities of each phase change during the flow process. Generally, the capillary pressure and relative permeability are assumed as a function of the phase saturation (common constitutive equations, e.g., van Genuchten, Brooks–Corey, and linear model [33, 53, 54] are given in Appendix A).

2.4 Boundary conditions

Initial condition can be given by:

$${\mathbf{u}}(x,y,0) = u_{0} ,$$
(13)

where u is the variable in the governing equations, e.g., displacement, pressure, and saturation. u0 is a known function of time or a prescribed value of variable u.

Two types of boundary conditions are included:

Dirichlet boundary condition:

$${\mathbf{u}}\left| {_{{\Gamma_{{\text{D}}} }} } \right. = u_{s} .$$
(14)

Neumann boundary condition:

$$\frac{\partial u}{{\partial {\mathbf{n}}}}\left| {_{{\Gamma_{{\text{N}}} }} } \right. = f_{s} ,$$
(15)

where us is the prescribed value of variable u at the boundary ℾD; n denotes the normal vector to the boundary, and fs is a given scalar function at the boundary ℾN.

3 Coupled HM two-phase flow model

The proposed coupled HM two-phase flow model contains two solvers: the mechanical solver (FDEM) is used to simulate the mechanical response of the rocks; the hydraulic solver, based on the FV-DFM, is implemented to simulate the two-phase flow in fractured porous media.

3.1 Mechanical solver (FDEM)

The mechanical behavior is solved by the FDEM, which incorporates the advantages of both the continuum and discontinuum methods [55,56,57,58,59]. With the rapid development of the FDEM fundamental algorithm (e.g., large material deformation, smooth contact algorithm [60, 61]), the FDEM has been applied to many practical rock mechanics problems, including but not limited to laboratory and in situ tests [62], underground excavation [63], slope stability [64], and multifield coupling [65, 66]. The FDEM has been extended to HM coupled problems of single-phase flow [67,68,69,70,71]; however, few attempts have been made to couple two-phase flow to geomechanical analysis [72].

In the 2D FDEM, the simulation domain is discretized into three-node finite elements bonded by four-node joint elements (Fig. 1). Pre-existing or newly generated fractures are represented explicitly by crack elements (i.e., broken joint elements). The stress/strain of individual blocks are calculated by FEM formulations, while the interaction of the discrete blocks is simulated by DEM formulations. Transition from continuum to discontinuum is modeled by the breakage of the joint elements. Basics of the FDEM are briefly introduced, while further details can be referred to literature [47].

Fig. 1
figure 1

a A rock mass with cracks and b its numerical model (After [73])

3.1.1 Governing equation

The motion of the rock is governed by the equivalent nodal forces using the Newton’s second law [47]:

$${\mathbf{M}}\frac{{\partial^{2} x}}{{\partial t^{2} }} + {\mathbf{C}}\frac{\partial x}{{\partial t}} = {\mathbf{F}}_{{{\text{int}}}} (x) + {\mathbf{F}}_{{{\text{ext}}}} (x) + {\mathbf{F}}_{{\text{c}}} (x) + {\mathbf{F}}_{{\text{j}}} (x),$$
(16)

where M and C are the nodal lumped mass and damping diagonal matrices, respectively; x is the vector of nodal coordinates; t is the time; Fint, Fext, Fc, and Fj are nodal forces, representing internal forces, external forces, contact forces, and joint forces, respectively, which are introduced in the following sections.

3.1.2 Internal force in finite elements

The stress–strain constitutive relationship of the finite element satisfies the FEM formulations [55]:

$${\mathbf{T}}{ = }\frac{\lambda }{2}(J - \frac{1}{J}){\mathbf{I}} + \frac{\mu }{J}({\mathbf{B}} - {\mathbf{I}}),$$
(17)

where T is the Cauchy stress tensor; J is the determinant of deformation gradient; \(\lambda\) and μ are the Lame constants; B is the left Cauchy–Green strain tensor; I is the identity matrix. Then, the equivalent internal nodal force (Fint) is:

$${\mathbf{F}}_{{\text{int}}} { = }\frac{1}{2}{\mathbf{Tn}}l,$$
(18)

where n and l are the normal unit vector and length of the triangular edge opposite to the node, respectively.

3.1.3 Contact force between discrete elements

As soon as blocks contact, the distributed contact forces (df) over the overlapped area (ds) are calculated by a potential function method [74]:

$$d{\mathbf{f}} = p_{n} \left[ {{\text{grad}}\varphi_{c} (P_{c} ) - {\text{grad}}\varphi_{t} (P_{t} )} \right]ds,$$
(19)

where Pc and Pt are the overlapping points in the contactor and target element, respectively; pn is the penalty coefficient; φc and φt are the potential functions, given by:

$$\varphi (P) = 3 \cdot \min ({{A_{1} } \mathord{\left/ {\vphantom {{A_{1} } A}} \right. \kern-0pt} A},{{A_{2} } \mathord{\left/ {\vphantom {{A_{2} } A}} \right. \kern-0pt} A},{{A_{3} } \mathord{\left/ {\vphantom {{A_{3} } A}} \right. \kern-0pt} A}),$$
(20)

where A is the area of the triangular element, and A1, A2, and A3 are the areas of the sub-element.

The contact force Fcn and friction force Fct between the contacted blocks are [57]:

$${\mathbf{F}}_{{{\text{cn}}}} = \int_{0}^{s} {{\mathbf{f}}ds} ,$$
(21)
$${\mathbf{F}}_{{{\text{ct}}}} = \phi \left\| {{\mathbf{n}} \cdot {\mathbf{F}}_{{{\text{cn}}}} } \right\|\frac{{{\mathbf{v}}_{{\mathbf{r}}} }}{{\left\| {{\mathbf{v}}_{{\mathbf{r}}} } \right\|}},$$
(22)

where n is the normal vector of the contact edge; vr is the relative velocity between the contacted elements; is the friction coefficient.

3.1.4 Joint forces and failure criterion of joint elements

The inserted joint elements are deformable to keep the continuum behavior in intact rocks, and the breakage of joint elements explicitly simulates material failure. The constitutive response of the joint elements is illustrated in Fig. 2, where the joint forces within the joint element are the function of the joint deformation [75, 76]:

$$\left\{ {\begin{array}{*{20}l} {{\mathbf{F}}_{{{\mathbf{jn}}}} = \int {H_{o} (\delta_{o} ) \cdot f_{t} dl} } \hfill \\ {{\mathbf{F}}_{{{\mathbf{jt}}}} = \int {H_{s} (\delta_{s} ) \cdot f_{s} } dl} \hfill \\ \end{array} } \right.,$$
(23)

where Fjn and Fjt are the normal and tangential forces that are perpendicular and parallel to the joint surface, respectively; δo and δs are the normal and tangential displacement, respectively; l is the joint length; ft, and fs are the tensile and shear strength, respectively; function H is a piecewise function approximating the experimental cohesive laws [47].

Fig. 2
figure 2

Constitutive model and failure modes of joint elements. Where δop and δsp are the elastic limits of opening and sliding displacement, corresponding to material strengths (ft and fs). δor and δsr are the critical opening and sliding displacement, depending on fracture energy release rates (GI and GII)

Cracks initiate and propagate when the displacement reaches a critical value, and the failure mode can be divided into Mode I (i.e., tension mode), Mode II (i.e., shear mode), or mixed mode (Fig. 2).

3.2 Two-phase flow solver

3.2.1 Finite volume discrete fracture–matrix model

A mixed discretization approach is proposed to resolve accurately and efficiently the coupled two-phase flow and geomechanics in fractured porous media. Based on the specific FDEM topology, a finite volume discrete fracture–matrix (FV-DFM) model is proposed for two-phase fluid flow in the fractured rock. In this FV-DFM model, hydro-elements are inserted into the FDEM mesh for the seepage field calculation (Fig. 3). The porous matrix is discretized into non-overlapping triangular elements (Fig. 3—in blue), and fractures are modeled as 1D 2-node linear element with implicit aperture (Fig. 3—in red) located at the centerline of the open fracture. Three families of hydro-nodes are defined: (1) fracture nodes; (2) interface nodes; and (3) matrix nodes. It is noted that the fracture–matrix interfaces (i.e., fracture edges) and fractures are represented separately; thus, the exchange flow between fracture and rock matrix can be explicitly calculated. These hydro- and mechanical mesh systems are compatible with each other, where the fluid flow is simulated using the hydraulic mesh, while the mechanical behavior is simulated by the FDEM mesh.

Fig. 3
figure 3

Schematic of hydro-mesh and hydro-nodes inserted into the FDEM mesh

The vertex-centered finite volume method, which is suited for unstructured grids and guarantees local mass conservation, is adopted to solve the fluid flow equations. The control volume (Fig. 3—enclosed by dashed lines) associated with a matrix hydro-node and interface hydro-node is constructed by the perpendicular bisectors of each triangular edge connected to the node (i.e., the volume enclosed by circumcircle centers of the surrounding triangular element). Each edge of the triangular mesh is perpendicular to the interface of two adjacent control volumes. The control volume of each fracture hydro-node is separately calculated by the fracture aperture.

3.2.2 Two-phase fluid flow calculation

Both matrix pores and cracks form flow paths; thus, three seepage modes exist [36]: seepage in cracks (crack flow); seepage in rock matrix (matrix flow); and seepage between cracks and matrix (exchange flow).

Crack flow (represented in 2-node line hydro-elements, Fig. 4) is defined as laminar flow [66]:

$$\begin{array}{*{20}c} {q_{f,i} = - \frac{{k_{ri} \delta^{3} J_{i} }}{{12\mu_{i} }},} & {i = w,n} \\ \end{array} ,$$
(24)

where kri is the relative permeability of phase i; Ji = ∆pi/l is the pressure gradient between the two hydro-nodes; pi is the pressure and l is the fracture length; μi is the fluid viscosity; δ is the equivalent crack aperture [77]:

$$\delta = \delta_{m} \left[ {\frac{{16r^{2} }}{{(1 + r)^{4} }}} \right]^{1/3} ,$$
(25)

where δm = δa + δb; r = δab. δa; and δb are the aperture at end points.

Fig. 4
figure 4

Fluid flow in rock mass, including crack flow, exchange flow, and matrix flow

Matrix flow is defined as 2D Darcy flow in triangular hydro-elements. The element (∆ijk in Fig. 4) is separated into three sub-elements by the circumcircle center (o) and mid-edge points [17]. Fluid flow between adjacent control volumes can be evaluated as [78]:

$$q_{m,i} = - Kk_{ri} \frac{{\Delta p_{i} }}{l}h,$$
(26)

where K is the intrinsic permeability; kri is the relative permeability of phase i; ∆pi is the pressure difference; l and h are the equivalent length and width of the flow path, respectively, where l equals to the edge length and h is the distance between circumcircle center and edges.

Pressure difference between rock matrix and cracks will induce exchange flow. Since the hydro-nodes at the interface and fracture are explicitly represented (Fig. 4), exchange flow can be inherently calculated at the matrix–fracture interface:

$$\left\{ {\begin{array}{*{20}c} {q_{i}^{ + } = - k_{c} k_{ri} (\frac{{p_{i}^{m + } - p_{i}^{f} }}{{\delta {/}2}}),} & {\Gamma^{ + } } \\ {q_{i}^{ - } = - k_{c} k_{ri} (\frac{{p_{i}^{m - } - p_{i}^{f} }}{{\delta {/}2}}),} & {\Gamma^{ - } } \\ \end{array} } \right.,$$
(27)

where kc is the exchange (leak-off) coefficient, which can be determined experimentally [79, 80]; p is the pressure (superscript m+, m and f represent the upper edge, lower edge, and fracture, respectively). As the material discontinuity is explicitly accounted for at the interface, discontinuity of the pressure, saturation and flux across the fracture are inherently calculated (see Sect. 4).

For the numerical stability, the relative permeability is based on the upwind scheme [3, 81]:

$$k_{ri} = \left\{ {\begin{array}{*{20}c} {k_{ri} (S_{i,a} )} & {p_{i,a} \ge p_{i,b} } \\ {k_{ri} (S_{i,b} )} & {p_{i,a} < p_{i,b} } \\ \end{array} } \right..$$
(28)

Thus, the total fluid flow at each hydro-node can be captured:

$$Q = \left\{ {\begin{array}{*{20}c} {\sum\limits_{i = 0}^{nm} {q_{m} + \eta q_{fm} } } & {\text{matrix/interface}} \\ {\sum\limits_{i = 0}^{nf} {q_{f} + q_{mf} } } & {{\text{fracture}}} \\ \end{array} } \right.,$$
(29)

where \(\eta\) = 1 when the calculation node is interface node, otherwise \(\eta\) = 0.

3.2.3 Time discretization and solution

The phase pressure–saturation formulation [33, 81] is adopted to solve the complex mass conservation equations, where the wetting phase saturation (Sw) and non-wetting phase pressure (pn) are independent unknowns. The mass conservation equation (Eq. 4) can now be rewritten in terms of Sw and pn:

$$\phi^{\alpha } \frac{{\partial S_{w} }}{\partial t} + \phi^{\alpha } S_{w} c_{w} (\frac{{\partial p_{n} }}{\partial t} - \frac{{\partial p_{c} }}{\partial t}) + \nabla \cdot (\frac{{{\mathbf{K}}k_{w} }}{{\mu_{w} }}(\nabla p_{n} - \nabla p_{c} - \rho_{w} g\nabla z)) = q_{w} ,$$
(30)
$$- \phi^{\alpha } \frac{{\partial S_{w} }}{\partial t} + \phi^{\alpha } (1 - S_{w} )c_{n} (\frac{{\partial p_{n} }}{\partial t}) + \nabla \cdot (\frac{{{\mathbf{K}}k_{n} }}{{\mu_{n} }}(\nabla p_{n} - \rho_{n} g\nabla z)) = q_{n} .$$
(31)

Assuming the capillary pressure only depends on saturation, the capillary term ▽pc can be reformulated:

$$\nabla p_{c} = \frac{{\partial p_{c} }}{{\partial S_{w} }}\nabla S_{w} .$$
(32)

The pressure equation can be obtained by adding Eq. (31) to Eq. (30):

$$\begin{gathered} (\phi^{\alpha } S_{w} c_{w} + \phi^{\alpha } (1 - S_{w} )c_{n} )\frac{{\partial p_{n} }}{\partial t} - \phi^{\alpha } S_{w} c_{w} \frac{{\partial p_{c} }}{\partial t} + \nabla \cdot (\frac{{{\mathbf{K}}k_{rw} }}{{\mu_{w} }}(\nabla p_{n} - \nabla p_{c} - \rho_{w} g\nabla z)) \hfill \\ + \nabla \cdot (\frac{{{\mathbf{K}}k_{rn} }}{{\mu_{n} }}(\nabla p_{o} - \rho_{n} g\nabla z)) = q_{w} + q_{n} \hfill \\ \end{gathered}$$
(33)

The pressure equation (Eq. (33)) and water saturation equation (Eq. (30)) have strong non-linearities. The implicit-pressure–explicit saturation (IMPES) approach [29, 33, 81, 82] is used to solve the system of equations, which requires less computational expense than the non-linear solver (i.e., fully implicit method) [27]. The global mass conservation (i.e., the pressure equation) is implicitly solved, while the saturation equation is explicitly solved (Algorithm 1).

Algorithm 1.
figure a

IMPES approach (for more details the readers are referred to [29,33,81,82)

The IMPES method is efficient but conditionally stable, where time step limitation is required. According to the CFL condition [83], the critical time step size can be expressed as:

$$\Delta t_{CFL} = \min (min(c_{\Delta t} ,1 + 0.1c_{\Delta t} ),1.2)\Delta t_{l} ,$$
(34)
$$c_{\Delta t} = C_{\max } /CFL,$$
(35)

where tl is the previous time step size; Cmax is no more than 1 (set as 0.75 in this study); CFL can be calculated as:

$$CFL = \max (V_{c} )\left[ {\frac{\Delta t}{{\phi V_{c} }}(2\frac{{\partial p_{c} }}{{\partial s_{w} }}\frac{{M_{n} M_{w} }}{{K(M_{n} + M_{w} )}}\sum\limits_{f = 0}^{m} {T_{f} } + \frac{{\partial F_{w} }}{{\partial s_{w} }}\sum\limits_{f = 0}^{m} q )} \right],$$
(36)

where Vc is the volume of each computational node domain; m is the number of neighbor faces f to the considered node; M is the phase mobility; Fw is the fractional flow, and Tf is the transmissivity of the face f.

$$M_{i} = \frac{{Kk_{ri} }}{{\mu_{i} }},$$
(37)
$$F_{w} = \frac{{k_{w} /\mu_{w} }}{{k_{w} /\mu_{w} + k_{n} /\mu_{n} }},$$
(38)
$$T_{f} = K_{f} S_{f} /d_{f} ,$$
(39)

where sf is the area of surface f; and df is the distance between the centers of the two neighboring nodes.

The stability for the CFL condition is not ensured if the source/sink term is present. Therefore, a user-defined maximal variation of saturation ∆Sw, max is added, where the critical time step size is [81]:

$$\Delta t_{s} = \min (\frac{{V_{c} \Delta s_{w,\max } }}{{\phi ( - \sum\limits_{f = 0}^{m} {v_{w} S_{f} + V_{c} q_{w} } )}}).$$
(40)

Thus, the global time step size is given by:

$$\Delta t = \min (\Delta t_{CFL,} \Delta t_{p} ).$$
(41)

It is obvious that the time step limitation may vary by orders of magnitude between matrix and fractures due to their drastically different physical properties. Fractures with higher permeability, but less volume may impose a more severe time step limitation [84]. Thus, using a single time step size throughout the entire domain would be inefficient. A hybrid time scheme (non-uniform time step) is implemented herein for higher computational efficiency (Fig. 5): tm for fracture flow, and tf for fracture flow and the exchange flow. It is essential that tm = Ntf (N is an integer), so that data between the fracture and the matrix are transferred every tm. The efficiency and accuracy of the non-uniform time step sizes are demonstrated in Sect. 4.

Fig. 5
figure 5

Non-uniform time step size in the rock matrix, interface, and fracture

3.3 HM coupling effect

Hydraulic and mechanical fields in fractured porous media strongly interact with each other. A two-way coupling approach between the fractured rock and two-phase fluids is shown in Fig. 6.

Fig. 6
figure 6

Interaction between the mechanical solver and two-phase flow solver

3.3.1 Effect of fluid pressure on mechanical deformation

Flow seepage significantly changes the fluid pressure and stress state in rocks. For the rock matrix, the effective stress is based on the Biot’s poroelasticity theory:

$${{\varvec{\upsigma}}}{\prime} = {{\varvec{\upsigma}}} - bp_{avg} {\mathbf{I}},$$
(42)

where b is the Biot coefficient; I is identity tensor; pavg = Swpw + Snpn is the average two-phase fluid pressure, which is applied on the FDEM elements as volume stress in the mechanical calculations (Fig. 7a).

Fig. 7
figure 7

Fluid pressure applied to the a matrix and b fracture

For fractures, the hydraulic pressure is simplified as linearly distributed surface loading (Fig. 7b), where pi and pj are the pressures on hydro-nodes i and j, respectively. Following the FDEM framework, the fluid pressures are then converted to external nodal forces on the corresponding solid nodes, including normal force, fn, and tangential viscous force, fs:

$$f_{n,a} = f_{n,c} = \frac{{p_{i} l}}{3} + \frac{{p_{j} l}}{6},f_{n,b} = f_{n,d} = \frac{{p_{i} l}}{6} + \frac{{p_{j} l}}{3},$$
(43)
$$f_{s,a} = f_{s,b} = f_{s,c} = f_{s,d} = \frac{{p_{i} - p_{j} }}{4}\delta ,$$
(44)

where l is the fracture length, δ is the equivalent aperture. The normal force is perpendicular to the fracture surface, and the viscous force is opposite to the fluid flow direction.

The deformation of the rock matrix and fracture can then be simulated by the mechanical solver (FDEM). Furthermore, hydraulic fracturing caused by high fluid pressure can also be captured by the failure of joint elements (Sect. 3.1.4).

3.3.2 Effect of rock deformation on permeability

Simultaneously, the geomechanical deformation in turn affects the two-phase flow process via the change of hydraulic properties and new fluid channels.

The porosity and permeability variation of the matrix can be calculated using the stress-dependent porosity and permeability model [3, 45]:

$$\phi = \alpha + (\phi_{0} - \alpha )exp( - {{\Delta \sigma_{m} } \mathord{\left/ {\vphantom {{\Delta \sigma_{m} } K}} \right. \kern-0pt} K}),$$
(45)
$${k \mathord{\left/ {\vphantom {k {k_{0} }}} \right. \kern-0pt} {k_{0} }} = ({\phi \mathord{\left/ {\vphantom {\phi {\phi_{0} }}} \right. \kern-0pt} {\phi_{0} }})^{3} ,$$
(46)

where 0 is the initial porosity; k0 is the initial permeability; K is the bulk modulus; and σm = (σx + σy)/2 is the effective mean stress.

The fracture aperture variation under stresses is described in Fig. 8. Specifically, under tensile conditions, fracture aperture can be calculated explicitly from the FDEM mechanical model as the normal translation components between the opposite edges of a crack element [85]:

$$\delta = \delta_{0} + {\mathbf{s}} \cdot {\mathbf{n}},$$
(47)

where δ0 is the initial fracture aperture; s is the opening vector defined by the nodal difference in a broken joint element; and n is the unit normal vector of the joint element.

Fig. 8
figure 8

Schematic of fracture deformation. The curve on the left is plotted against the normal stress under compression condition, while the right part is aperture calculation under tension condition

However, under compressive conditions, the aperture cannot be calculated directly in FDEM, which is then calculated based on an empirical non-linear hyperbolic model [86, 87]:

$$\delta_{op} = \delta_{0} - u_{n} ,$$
(48)

where un is the fracture normal closure:

$$u_{n} = \frac{{\sigma_{n}{\prime} }}{{K_{n} + {{\sigma_{n}{\prime} } \mathord{\left/ {\vphantom {{\sigma_{n}{\prime} } {u_{\max } }}} \right. \kern-0pt} {u_{\max } }}}}$$
(49)
$$K_{n} = K_{n0} (1 - \frac{{\sigma_{n}{\prime} }}{{K_{n0} u_{\max } + \sigma_{n}{\prime} }})$$
(50)

where umax is the maximum closure; Kn is the fracture stiffness, and Kn0 is the initial fracture stiffness.

3.4 Coupling procedure

A sequential coupling procedure is adopted to solve the HM coupled model. At each calculation step, fluid flow through both porous matrix and fracture networks is solved using the developed FV-FDM approach. Fluid pressures are then used as external loads for the FDEM solver in modeling stresses, strains, and fracturing. The updated rock geometry is used to update fluid parameters (porosity and permeability) for the next flow time steps.

4 Advantages of the two-phase exchange flow model

The mass transfer at the fracture–matrix interface is important in the two-phase flow simulation while remaining a challenge in numerical simulations. Figure 9 illustrates possible fluid exchange scenarios between rock matrix and fractures, where fractures behave as sink/source. An efficient model should capture the fluid exchange between fracture and matrix, as well as the pressure, saturation, and flux discontinuity at the interface, caused by the drastic properties contrast between matrix and fracture.

Fig. 9
figure 9

Schematic of the possible exchange flow protocols across the fracture

Several attempts have been proposed to handle the two-phase flow transfer at the interface. One widely used method is the cross-flow equilibrium condition [27, 30], which assumes fluid conservation across the interface and continuity requirements for both wetting/non-wetting flux (Fig. 10a):

$$\begin{array}{*{20}c} {\rho_{i} {\mathbf{v}}_{i} \cdot {\mathbf{n}}|\Gamma^{ + } = \rho_{i} {\mathbf{v}}_{i} \cdot {\mathbf{n}}|\Gamma^{ - } ,} & {i = w,n} \\ \end{array} .$$
(51)
Fig. 10
figure 10

Schematic of the a cross-flow equilibrium condition and b extended capillary pressure condition

Obviously, this condition ignores the discontinuous flux across the fracture, and the sink/source function of fractures. Additionally, the fracture and adjacent matrix share the same degrees of freedom (e.g., pressure and saturation). Therefore, this implicit assumption of the continuous pressure/saturation at the interface can hardly properly simulate the real flow across fractures.

Another model is the extended capillary pressure condition, which assumes the capillary pressure continuity at the interface [3, 29]. The relationship of the wetting phase saturation between fracture (\({S}_{w}^{f}\)) and its adjacent matrix (\({S}_{w}^{m}\)) can be described by the capillary pressure curve (Fig. 10b):

$$S_{w}^{m} = \left\{ {\begin{array}{*{20}c} {(p_{c}^{m} )^{ - 1} (p_{c}^{f} (S_{w}^{f} ))} & {S_{w}^{f} \le S_{w}^{*} } \\ 1 & {S_{w}^{f} > S_{w}^{*} } \\ \end{array} } \right.,$$
(52)

where \({S}_{w}^{*}\) is a threshold saturation associated with the matrix entry pressure. Although it captures the saturations jump between the fracture and matrix, exact matrix–fracture flux is not explicitly evaluated. The wetting phase saturation in the adjacent matrix, \({S}_{w}^{m}\), is directly set to 1, when \({S}_{w}^{f}\)\({S }_{w}^{*}\), which has no physical meaning. It is also limited to the conditions of larger fracture permeability (i.e., conduit fracture) and the larger matrix capillary pressure [27, 88]. Additionally, the pressure and saturation at the opposite fracture edges are the same, which is not representative of real situations.

Overall, the above two widely used models hardly realistically simulate the two-phase flow at the fracture–matrix interface. However, the proposed two-phase exchange flow model in this paper allows for an explicit and accurate representation of the fluid exchange at interface, which inherently calculates the pressure, saturation, and flux discontinuity across the fracture, as demonstrated in the following test. A rock domain (1 m × 1 m, Fig. 11), initially saturated with oil, contains a throughout fracture which acts as either conduits (kf = 10–15 m2) or barriers (kf = 10–9 m2). A prescribed pw = 1 MPa and Sw = 1 are set at the injection point. The calculation parameters are listed in Table 1.

Fig. 11
figure 11

Model geometry for the exchange flow problem

Table 1 Simulation parameters

The water pressure and saturation distribution are shown in Figs. 12 and 13. Overall, saturation and pressure decrease from the inlet to the outlet boundary. In the case where fracture permeability is lower than that of neighboring matrix (i.e., fracture behaves as a barrier), water is trapped and accumulates below the fracture and moves horizontally. Obvious pressure jumps between the opposite fracture edges are observed. In contrast, in highly conductive fracture case, water tends to propagate across the fracture and hence results in a relatively continuous pressure/saturation distribution. A higher pressure/saturation in fractures along the diagonal line is due to higher fracture permeability.

Fig. 12
figure 12

a Water pressure distribution b along the diagonal line at t = 1 and 4 h

Fig. 13
figure 13

a Water saturation distribution b along the diagonal line at t = 1 and 4 h

The pressure/saturation evolution across p (0.5, 0.5) is plotted to better show the discontinuity across the fracture (Fig. 14). Obvious pressure/saturation jumps across the fracture are observed, which is more apparent in the case with lower fracture permeability. Note that pressure/saturation in fracture with higher permeability is larger than those at surrounding edges, which is different from monotonic decrease trend in low fracture permeability case. The reason is water flows faster in the high-permeable fracture, thus the pressure/saturation grows faster than the surrounding matrix, which is also supported by the discontinuous exchange fluxes across the lower/upper edges at t = 1 h (Fig. 15). In the barrier case, water flows into the fracture from the lower edge and then enters the upper edge. However, in the conduit case, water in fracture flows into both edges at the far end, which behaves as a source term.

Fig. 14
figure 14

Temporal evolution of the water pressure and saturation in the fracture, upper edge, and lower edge with fracture permeability of a kf = 10–15 and b kf = 10–9 m2

Fig. 15
figure 15

Water flux distribution along the lower and upper fracture edges at t = 1 h. (Inflow is positive and outflow is negative)

In addition, the efficiency and accuracy of the non-uniform time step sizes are also investigated. Different time step ratios, tm/tf = 20, 10, 1, are utilized. The pressure and saturation distribution at t = 1 h (Fig. 16) show that, although there are slight differences (specifically at the interface) between the different ratios, the relative error is less than 2%. The error might be the numerical diffusion introduced by the data exchange frequency, which is conducted at each tm (Sect. 3.2.3). However, the calculation speed rapidly increases, about over 20 times faster in the case of tm/tf = 20 compared to the uniform time step size (i.e., tm/tf = 1). This non-uniform time step size alleviates the time step size constraint on the fractures with higher permeability and allows a higher computational efficiency without sacrificing accuracy. The tm/tf = 10 is used throughout this paper.

Fig. 16
figure 16

Comparison of the water pressure and saturation distribution at t = 1 h for different tm/tf ratios

5 Numerical tests

In this section, numerical tests are presented to demonstrate the performance of the proposed coupled HM two-phase flow model.

5.1 Buckley–Leverett benchmark test

The Buckley–Leverett (BL) benchmark test [89] is widely used for two-phase flow calibration. The process of water (wetting phase) displacing oil (non-wetting phase) is independently simulated for fracture (case I) and porous matrix (case II) cases. The computational model is shown in Fig. 17 (a single fracture with δ = 1 mm) is located at the model center in case I). The domain is initially filled with oil with Sn = 0.9 and pn = 0 MPa. A constant water injection volume Qi = 5 × 10–6 m3/s is performed at its left boundary, and the oil pressure at its right boundary remains constant. No fluid leakage occurs at the other boundaries. The calculation parameters are the same as those in Table 1. The capillary pressure is neglected to provide a proper comparison with the Buckley–Leverett solution, unless otherwise indicated.

Fig. 17
figure 17

Computational model for the Buckley–Leverett test

5.1.1 Case I: single fracture

The water saturation distributions along the fracture at different times are shown in Fig. 18a and compared with the BL theoretical solutions (Fig. 18b). The injected water gradually displaces the oil phase, and the position where the water saturation drops sharply is the penetration front. The simulated results are generally consistent with the theoretical solutions.

Fig. 18
figure 18

a Water saturation distributions in the single fracture at t = 60 s, 120 s and 180 s; b comparison of the present results and BL theoretical solutions

We further investigate the effect of fracture aperture (δ = 0.8, 1, 1.5 mm) and viscosity ratio (μw/μn = 0.2, 0.5, 1). The water saturation distributions at t = 120 s are shown in Fig. 19 and agree well with the theoretical solutions. It also shows that under a constant water injection volume the waterfront propagates faster with a smaller aperture and lower wetting/non-wetting viscosity ratio.

Fig. 19
figure 19

Water saturation distributions in the fracture at t = 120 s with different a fracture aperture and b viscosity ratio

5.1.2 Case II: porous matrix

The water saturation distributions in the porous matrix are shown in Fig. 20, and the results agree well with the BL theoretical solutions.

Fig. 20
figure 20

a Water saturation distributions in the matrix at t = 1, 2 and 3 h; b comparison of the present results and BL theoretical solutions

To evaluate mesh sensitivity, different meshes sizes (s = 0.2, 0.1, and 0.05 m) are used. The simulation results of the water saturation distribution at 3 h (Fig. 21a) are in fair agreement with each other. However, the solution with a finer mesh is closer to the theoretical solution, where the waterfront can be better approximated.

Fig. 21
figure 21

Water saturation distributions with a different mesh size at t = 3 h, and b capillary pressure effect

Particularly, the numerical model allows to investigate the capillary pressure effect, which was neglected in the BL solution. The capillary pressure herein follows the Brooks and Corey model [54] with entry pressure pe = 20 kPa and shape factor m = 2. The water saturation distribution is shown in Fig. 21b, which agrees with numerical results solved by 1D finite difference method [90]. Compared with the case without capillary effect (Fig. 20), a smoother transition is observed at the waterfront. The reason is that the interfacial tension (capillary pressure) between two phases causes the imbibition of the water phase, which converts the sharp water saturation front resulting from the pressure gradient and viscous force to a smooth water saturation distribution.

5.2 Two-phase flow in fractured porous medium

Two-phase flow through fractured porous medium is validated against benchmark test published in Karimi-Fard et al. [24]. The modeling domain (1 m × 1 m), initially saturated with oil (Sn = 1), contains three fractures with aperture of 0.1mm (Fig. 22). The matrix porosity and permeability are 0.2 and 1 × 10–15 m2, respectively. Water is injected at the injection point at a rate of 0.01 PV/D (i.e., 2.32 × 10–8 m3/s, PV is the volume normalized by pore volume), and produced from the production point. The viscosity of water and oil is 1 × 10–3 Pa∙s and 0.45 × 10–3 Pa∙s, respectively. To properly compare with the published results [24], we specify a linear variation (see Appendix A) of the relative permeability and neglect capillary pressure.

Fig. 22
figure 22

Geometry of the fractured porous medium (after [24])

The water saturation profiles after 0.1, 0.3, and 0.5 PV water injection are compared with published results [24] (Fig. 23). The injected water gradually displaces the oil phase, and the water saturation gradually increases. Fractures with higher permeability behave as primary channels. A close match is observed between our model and Karimi-Fard et al. [24], even though subtle differences are evident in the saturation maps, likely due to the different discretization procedures. Both models also show a close agreement of the oil production (Fig. 24).

Fig. 23
figure 23

Water saturation profiles at different PV water injections. a the present model and b results from Karimi-Fard et al. [24]

Fig. 24
figure 24

Cumulative oil production obtained from this work and Karimi-Fard et al. [24]

5.3 HM coupling effect

The hydro-mechanical coupling effect between the two-phase flow and geomechanics is validated in this test against Khoei et al. [20]. A square-shaped porous medium (1 m × 1 m) contains a 2 m-long fracture inclined at θ = 45° (Fig. 25). The sample is initially saturated with oil (Sn = 1), and the water is injected from the bottom left corner at a rate of 0.01 PV/day. All edges are hydraulically impermeable, and the left and bottom edges are mechanically restrained. Modeling parameters are given in Table 2.

Fig. 25
figure 25

The geometry of the fractured porous medium contains an inclined fracture

Table 2 Parameters for test 4.3 (after [20])

Figure 26 presents the water saturation contours after 50-day water injection (i.e., 0.5 PV) under different rock Young’s moduli, and compared with published solutions [20]. It shows that the two-phase flow pattern highly depends on the crack deformation. For the case with a high rock stiffness (E = 100 GPa), the waterfront has a circular shape, and the presence of the fracture has no considerable effect on the flow pattern. It is because the fluid pressure is insufficient to open the fracture adequately (Fig. 27c). However, when the rock stiffness decreases, the fracture opens (Fig. 27c), which consequently increases the fracture permeability. Fractures with a higher permeability behaves as priority channels, resulting in faster water penetration. The displacement and fracture aperture distribution for the case of E = 5 GPa at 50 days are comparable to the published results [20] (Fig. 27).

Fig. 26
figure 26

The water saturation distribution at 50 days for various Young’s moduli. a the present work and b published results [20]

Fig. 27
figure 27

Comparison of the displacement contours, in E = 5 GPa case at 50 days, between a the present work and b published results [20]. c Fracture openings for various Young’s moduli

Figure 28 depicts the oil production in 100 days. Production curves begin with a similar rate for various Young’s moduli, and production rates decrease as the waterfront approaches the outlet point. Production rate decreases first in the case of E = 5 GPa since its largest fracture permeability accelerates the water flow toward the outlet point (i.e., earlier water breakthrough). Consequently, oil cannot be efficiently extracted, and almost 50% of the oil remains in the reservoir after 100 days. However, the oil production in the case of E = 100 GPa is nearly 1.4 times greater than that of E = 5 GPa.

Fig. 28
figure 28

Oil production curves for various Young’s moduli

5.4 Waterflooding operation with inverted nine-spot pattern

The waterflooding operation [91, 92] that displaces hydrocarbons by injecting water is a widely used technique to enhance hydrocarbon recovery. During the waterflooding operation, prior stimulated fractures may further propagate and connect to the wells, which will result in early water breakthrough [93]. The proposed model is further adopted to investigate the effect of the fracture growth on the early water breakthrough and the hydrocarbons recovery during waterflooding operation with a popular inverted nine-spot injection pattern (Fig. 29). Due to model symmetry, the computational domain (Fig. 29b) comprises one injecting and three producing wells, where the boundaries are co-oriented with the direction of horizontal principal stresses (σH = 38.6 MPa and σh = 36 MPa) [93]. The hydraulic fracture at the injecting well is 100 m long and parallel to σH, while that of the producing wells is 200 m long and oriented in the direction of σH with a small bias of ± 8◦. The computational domain is initially filled with oil with a pressure of 20 MPa. The water is injected into the injection well at a constant rate Qin, while the boundary conditions at the three producing wells are maintained as the initial stage. The modeling parameters are listed in Table 3.

Fig. 29
figure 29

Schematic of a the inverted nine-spot injection pattern and b the selected simulation domain (after [93])

Table 3 Parameters for test 4.4

The HM coupling effect, especially the fracturing, are first investigated, with an injection rate Qin = 18 m3/day. Three scenarios are considered: (i) pure flow simulation, (ii) partial HM coupling (without fracturing), and (iii) fully coupled HM. The water pressure and saturation distribution at 1000 days are shown in Fig. 30. Water quickly fills fractures connected to the injection well and flows into the matrix displacing the oil phase. The waterfront in scenarios (i) and (ii) is similar, almost in a round shape. However, the front size in scenario (ii) is slightly smaller, because of the increased matrix porosity and fracture aperture under fluid pressure. A significant difference was observed in the scenario (iii) with growing hydraulic fracture: hydraulic fracture at the injecting well continues to propagate under the fluid pressure, which promotes the water flow in the direction of fracture propagation. The waterfront almost reaches the producing wells.

Fig. 30
figure 30

The water a pressure and b saturation distribution of three scenarios at t = 1000 days

We further explore the water injection rate (Qin = 3, 6, 9, 15, 18, and 21 m3/day) on the fracture propagation and displacement efficiency, under fully coupled HM conditions. Roughly two groups can be divided: without fracture propagation at Qin = 3, 6, and 9 m3/day, and with fracture propagation at Qin = 15, 18, and 21 m3/day (Fig. 31a). A higher injection rate leads to a more rapid fracture growth. Figure 31b shows the water pressure at injection well, where a higher injection rate induces a more rapid pressure increase. The pressure in non-propagating cases tends to stabilize, while the pressure in growing fracture case has fluctuations associated with fracture propagation. Water production as a function of time is shown in Fig. 32a, where higher injection rates lead to earlier water breakthrough. To better show the waterflooding efficiency, PV produced water versus PV injected water is shown in Fig. 32b. For scenarios without fracture propagation at low injection rates, their water production curves are very close; however, significant differences occur when fracture propagates at high injection rates. In this specific case, fracture growth under Qin = 15 m3/day leads to the most efficient operation, while further increasing injection rate reduces the sweep efficiency. It can be explained that proper fracture propagation can promote the oil displacement along fracture propagation direction, enhancing the sweep efficiency; however, when fracture propagates too fast, the efficiency drops because of the earlier water breakthrough.

Fig. 31
figure 31

Evolution of a fracture length and b water pressure under different injection rates

Fig. 32
figure 32

PV water production versus a time and b PV water injection under different injection rates

Note that this process is highly nonlinear and involves complex interactions between the propagating and existing fractures, and the orientation of the fractures connected to the producing wells (Fig. 32). The results obtained here can only be used as a reference for this typical pattern. However, considering the fracturing process shows vital importance, and a fully coupled simulation is useful for a better production strategy.

6 Conclusions

The co-existence of two-phase flow and their couplings with geomechanics in a complex system, renders hydro-mechanical modeling of fractured media very challenging. This work proposed a novel coupled HM model for two-phase flow simulation in fractured porous media considering geomechanics and fluid mechanics. This model combines the capability of the FDEM method in capturing geomechanical behavior of fractured rocks, and that of the FV-DFM in simulating two-phase flows through both pores and fracture networks. The mutual interaction between the hydro-mechanical fields is performed by a two-way coupling procedure. The performance of the proposed coupled HM two-phase model is progressively demonstrated against benchmark tests. The key achievements are summarized as follows:

  1. 1

    The coupled HM model captures the most essential interactions between the fractured rocks and two-phase fluids, including the geomechanical effects on the porosity, fracture aperture, permeability, and capillary pressure, as well as the two-phase seepage effects on the deformation and fracturing of the fractured rock mass. Particularly, inheriting from the FDEM, one key advantage is simulating complex fracture propagation caused by the two-phase seepage-stress coupling.

  2. 2

    The novel FV-DFM, explicitly considering matrix flow, fracture flow and fracture–matrix exchange flow, is capable of two-phase flow (e.g., pressure/saturation field) in fractured porous media. The hydraulic meshes in FV-DFM are compatible with the mechanical meshes in FDEM, facilitating the HM coupling implementation. Meanwhile, non-uniform time steps significantly improve the calculation efficiency while keeping accuracy.

  3. 3

    The novel two-phase exchange flow model allows for an explicit and accurate calculation of the mass transfer at matrix–fracture interface, benefiting from the exact representation of fracture and interface. Compared to the traditional methods, this model inherently captures pressure, saturation, and flux discontinuity across high/low permeability fractures without any additional assumptions.

  4. 4

    Considering the HM coupling effect, especially the fracturing, is significant in the two-phase flow process. The increasing fracture aperture and fracture growth, under the hydraulic pressure, will induce a preferential flow channel, which promotes the flow along the direction of fracture propagation. On the other hand, propagated fractures may induce earlier water breakthrough, which reduces recovery efficiency. Thus, an optimized fracturing strategy should be considered to improve efficiency during practical waterflooding operations.

The proposed model can also be incorporated into more numerical methods, e.g., finite element method (FEM), discrete element method (DEM), numerical manifold method (NMM), etc., to solve the coupled hydro-mechanical two-phase flow problems.