Abstract
The temporal discretization scheme is one important ingredient of efficient simulator for two-phase flow in the fractured porous media. The application of single-scale temporal scheme is restricted by the rapid changes of the pressure and saturation in the fractured system with capillarity. In this paper, we propose a multi-scale time splitting strategy to simulate multi-scale multi-physics processes of two-phase flow in fractured porous media. We use the multi-scale time schemes for both the pressure and saturation equations; that is, a large time-step size is employed for the matrix domain, along with a small time-step size being applied in the fractures. The total time interval is partitioned into four temporal levels: the first level is used for the pressure in the entire domain, the second level matching rapid changes of the pressure in the fractures, the third level treating the response gap between the pressure and the saturation, and the fourth level applied for the saturation in the fractures. This method can reduce the computational cost arisen from the implicit solution of the pressure equation. Numerical examples are provided to demonstrate the efficiency of the proposed method.
1. Introduction
The fractured porous media is composed of two distinct pore spaces: the fracture and the matrix. The fracture spaces have higher permeability than the matrix, but possess very small volume compared with the matrix. Numerical simulation of multiphase flow in fractured porous media is of importance in the subsurface flow, environmental problems and petroleum reservoir engineering. In this paper, we focus on two-phase fluid flow in fractured porous media with capillarity. In the displacement of the nonwetting phase by the wetting phase, the injected fluid flows rapidly across the fracture network if the effect of capillarity is neglected; however, when the capillarity is taken into account, the capillary contrast between the matrix and the fracture may have a significant influence on flow paths. In the fractured porous media, the different capillary pressure functions are employed within the fracture and the matrix blocks because of their different permeability types; that is, the capillary pressure functions are not continuous on the matrix-fracture interfaces. Therefore, the discontinuity of the saturation is predicted because of the continuity of capillary pressure [1].
To simulate the multiphase flow in fractured porous media, several conceptual models have been developed [2–16], such as the single-porosity model, the dual-porosity/dual-permeability model, and the discrete-fracture model. In the single-porosity model, the fractures are treated similarly to the matrix. This model requires the excessive gridcells because of the contrast of geometrical scales between the matrix and the fracture. The dual-porosity/dual-permeability model [3, 8–10, 13, 15, 16] envisions the matrix blocks and the fractures as two separate parts, which are interconnected by fluid mass transfer across their interfaces. The discrete fracture model [2, 11, 12] is based on the conception that the fracture aperture is very small compared to the matrix blocks, and as a result, we can simplify the fracture as the lower dimensional domain to reduce the contrast of geometric scales occurring in the single-porosity model. The discrete fracture model is shown to be is numerically superior to the single-porosity model and the dual-porosity models [6, 7]. This model will be used in this paper.
The implicit pressure explicit saturation (IMPES) method [17–24] is a popular time-stepping approach employed in multiphase flow simulation. Based on the property of multiphysics processes, the IMPES method splits the coupled system into one pressure equation and one saturation equation. The saturation and capillary pressure in the pressure equation are treated explicitly to eliminate its nonlinearity. These treatments result in the decoupling between the pressure equation and the saturation equation, and the instability of the IMPES method [21], especially for the case with capillarity in the heterogeneous media. In order to improve the stability of IMPES, we present an implicit treatment of capillarity in [25], which will be described in Section 3. The iterative version of this method is presented in [26]. Based on the previous works, we will discuss this approach being applied in the fractured media. For the fluid flow in porous media, the pressure changes less rapidly than the saturation with the time, and hence we can take a larger time-step for the pressure than the one for saturation. This approach is an improvement of IMPES originally proposed in [17, 24, 27]. It is also demonstrated that this technique is very efficient for the method proposed in [25]. Relevant work in coupled flow and transport simulation can be found in, for example, [28–35]. In this paper, we will describe a multiscale time strategy for multiphysics processes of two-phase flow in fractured media.
For fractured media, the pressure and saturation in the fracture network change more rapidly than the ones in the matrix blocks. The explicit treatment of saturation in the pressure equation may be instable, and thus the small time-step size is required if the same time scale is employed in the entire spatial domain. The explicit scheme used for updating the saturation suffers from Courant number stability constraints, and as a result, we should use the smallest time-step size to match the rapid changes in the fracture network if using the single-scale time-stepping. To resolve this problem, we should use the multiscale time-stepping for the pressure and the saturation in the fracture and the matrix.
Multiscale time splitting strategy has been studied in the literature, for example, [36–45]. An explicit subtiming scheme is proposed in [41, 42]. The computational domain is divided into separate coarse and fine-grid locations. We fist carry out the computations for all coarse grid-blocks by using a time-step size that satisfies the coarse grid-block stability constraint. Once the solutions in a coarsely discretized region are obtained, the unknowns within the fine grids are solved by using a smaller time-step size that matches the fine grid stability constraints. In the subtiming methodology for implicit-type time-stepping schemes proposed in [39], the fully implicit schemes with multiple time-step sizes are utilized to the different portions of a domain, which have different accuracy requirements. This technique has been applied to the time-dependent flow and transport simulations in fractured porous media [40], which uses the implicit subtime-stepping in the locations within and near the fractures. It is demonstrated that the implicit multiple time-stepping is capable to significantly improve the accuracy and efficiency of numerical simulation. The hybrid implicit-explicit approach [46] treats implicitly the portions of the domain with the particular stability requirements, along with the explicit time-stepping applied to the remainder of the domain. The advantage of this approach is that it can reduce the size of the problems being solved implicitly at each time-step.
In this paper, we present a multiscale time splitting strategy for two-phase flow in fractured porous media. Taking account into the different physical properties of the matrix blocks and the fracture network, and the multiphysics processes of two-phase flow, we apply multiple time scales for the pressure and saturation equations. The pressure equation is formed from the conception proposed in [25]; that is, the capillary pressure is treated implicitly in the pressure equation. For the pressure, we employ a large time-step size in the matrix domain, along with a small time-step size being applied in the fracture system. The time-step for the pressure in the fractures is further partitioned to a few subtime-steps, in which the saturation will be updated explicitly. The updating process of the saturation employs two-scale time-stepping; a coarse time-stepping is applied in the matrix blocks, along with a fine one in the fracture system.
The rest of this paper is organized as follows. In Section 2, we review the two-phase incompressible flow model, along with the discrete-fracture model. In Section 3, we describe our multiscale time splitting strategy. Here, the cell-centered finite difference (CCFD) method [47] is employed for spatial discretization, but it can be extended to the other discretization schemes. In Section 4, some numerical examples are given to demonstrate the advantage of the proposed method. Finally, we summarize this work.
2. Mathematical Model of Two-Phase Incompressible Flow
2.1. Governing Equations of Two-Phase Flow
We now describe two-phase incompressible and immiscible fluid flow in porous media, and denote the wetting phase by a subscript and the nonwetting phase by . The mass conservation equation of each phase is given by where is the porosity of the medium, is the saturation of phase , and is the external mass flow rate. In (2.1), Darcy's velocity of each phase is given by where is the absolute permeability tensor in the porous medium, is the gravity acceleration, is the depth, and , , , and are the relative permeability, viscosity, pressure and density of each phase, respectively.
In addition, the saturations of two phases are subject to the following constraint The difference between the nonwetting phase and wetting phase pressures is described by the capillary pressure
In this paper, we use the two-phase flow formulation [1, 7, 48] given by where , , , , , , , and . From the above definitions, the wetting-phase velocity is expressed as
Finally, we consider the boundary and initial conditions. We divide the boundary of the computational domain into the two nonoverlapping parts: the Dirichelt part and Newmann part , where . The pressure equation (2.5) is subject to the following boundary conditions where is the pressure on , is the outward unit normal vector to and is the imposed inflow rate on . The boundary conditions for the saturations are given by The initial saturation of the wetting phase is given by
2.2. Discrete-Fracture Model
Here, we employ the discrete-fracture model [6, 7] to explicitly describe the fractures in fractured porous media. In this model, different geometrical dimensions are taken for the matrix and fracture grid cells; that is, for -dimensional domain, the matrix gridcells are -dimensional, but the fracture gridcells are simplified as the matrix gridcell interfaces that are ()-dimensional. This treatment is capable to considerably improve the computational efficiency since it can remove the length-scale contrast resulting from the explicit representation of the fracture aperture as in the single-porosity model. The entire domain is decomposed into two parts: the matrix (-dimensional) and fracture (()-dimensional), and the fractures are surrounded by the matrix blocks. The pressure equation in the matrix domain is given by where the subscript represents the matrix domain. Equation (2.11) is subject to the matrix-fracture interface condition The fracture width is denoted by . In the fracture system, we assume the potentials and saturations are constant along the fracture width, and then by integrating the equation, obtain the pressure equation in the fracture (represented by the subscript ) as where is the mass transfer across the matrix-fracture interfaces. Similarly, we can express the saturation equation in the matrix domain as with the interface condition In accordance, the saturation equation in the fracture system is given by where represents the mass transfer across the matrix-fracture interfaces. This form of saturation equation will be used to rebuild the coupling relationship between the pressure and saturation. The other form of saturation equation is used to compute the saturation, which is expressed as in the matrix domain and in the fractures where is the same to , but with different expressions in the spatial discretization.
3. Multi-Scale Time Splitting Strategy
In this paper, we use the cell-centered finite difference (CCFD) method for the spatial discretization, but apparently, our approach can be also extended to the other spatial discretization schemes. In this paper, we focus on the case of two-dimensional space. The extension to three-dimensional case is straightforward. We assume that the porous media are isotropic and the absolute permeability is a scalar function.
3.1. Multi-Scale Time Splitting Approach for the Pressure Equation with Implicit Capillary Pressure
We firstly divide the total time interval into time-steps as . This time division is used for the pressure in the matrix domain. Define the time-step length . Since the pressure in the fractures varies more rapidly than the matrix domain, we use a smaller time-step size for the pressure in the fractures; that is, we partition each subinterval into subsubintervals as , where and , and denote the subsubinterval length by . We denote the value of a variable on the time point by and the one on by .
We consider the grid system with rectangular cells for the matrix domain. The fracture that is one-dimensional can be partitioned into many spatial subintervals. The classical IMPES method is instable because each cell capillary potential is explicitly calculated by using the cell saturations from the previous time-step and the capillary pressure functions. In this paper, we employ the implicit approach to handle capillary pressure proposed in [25]. This method treats the variables , , and in the pressure equation as IMPES, but the capillary potentials will be treated implicitly. From this, we obtain the mass conservation equation in the matrix domain where the superscript represents the time-step and is the temporal discretization parameter. Apparently, it becomes the form of IMPES if . Here, we always take ; that is, the capillarity is implicitly treated. It is similar to obtain the form in the fracture (referred to by the subscript ) as
Let indicate the boundary of the matrix gridcells. We use the CCFD scheme applied to (3.1) and obtain where indicates the area of the cell , and indicates the flux across the boundary of the gridcell . Here, we assume that is also a gridcell of the fractures if . On each interface , is the unit normal vector pointing from to . If and , the fluxes in (3.3) are given by where is the length of and stands for the Euclidean distance between the central points of the cells and . In (3.4), the terms and are given by where stands for the Euclidean distance from the central points of the cell and the cell boundary . If and is a gridcell of the fracture system, we have where and are given by For the case locating on the entire domain boundary, the pressure potential is provided by Dirichelt boundary conditions if , otherwise the fluxes are determined by the Newmann conditions if .
The above processes of deriving (3.3)–(3.9) can also be carried out for the reduced-dimensional fracture system. Let be a gridcell of the fracture network. The CCFD scheme is applied to (3.2), and then we have where indicates the face of the gridcell in the fracture system and indicates the flux across the boundary of the fracture gridcell . Different from (3.3), no potential of the matrix domain is required for computing the fracture-fracture fluxes in (3.10), but the matrix-fracture transfer needs to be treated as a source term in the fracture system. We consider a gridcell of the fracture network where and and are the gridcells of the matrix domain. The fracture width is denoted by . The volumetric transfer across the matrix-fracture interface is given by where , , and are defined by (3.6)–(3.8), respectively. We now consider the treatment of the interface connecting multiple fractures. Let be the set composed of the fracture grid cells that are jointed by . The discretization of the mass conservation equation is given by where and .
Combining the formulations in the matrix domain and fracture network, we obtain the discretization of total mass conservation equation given by The terms , , , and of (3.13) arise from the interconnections of the matrix blocks and fracture system. Since and is unknown, the above equation can not be solved immediately because of its nonlinearity. In order to eliminate the nonlinearity, we approximate the capillary pressure at by Furthermore, we employ the backward Euler time discretization for the saturation equation both in the matrix domain and in the fracture network It is analogous to the derivation of the pressure equation (3.13), and we approximate (3.15) and (3.16) by the CCFD method as Substituting (3.14) and (3.17) into (3.13), we obtain the coupled pressure equation where
Equation (3.18), along with (3.19), is utilized to compute the matrix pressure in a large time-step. In order to match the rapid changes of the pressure in the fracture network, we use a small time-step size in the fracture system. For each time substep, we consider the pressure equation in the fractures as It is obtained by using the CCFD scheme to (3.20) that where is the face of the gridcell in the fracture system and represents the flux across the boundary of the fracture gridcell . Let and are the matrix gridcells and , then in (3.21), the matrix-fracture transfer is given by where along with The treatment of the interface connecting multiple fractures is similar to (3.12). Therefore, in the time-step used for the pressure in the fractures, we solve the following pressure equation where
In the above equations, the inverse of and is not expensive as they are diagonal. In the time-step , we solve the linear system (3.18) implicitly to obtain the pressure , and then in the time substep compute by solving (3.26).
Once the pressures and is obtained, the fluxes can be evaluated as described below. For a boundary of matrix gridcell , is the unit normal vector pointing towards outside . If and , where If and is a fracture gridcell, the fluxes are computed by (3.23). The fluxes on the domain boundary are obtain by the boundary conditions as discussed above.
3.2. Multi-Scale Explicit Time-Stepping for the Saturation Equation
As the pressure computed by the above-described method has coupled with the saturation, the forward Euler time discretization is used for computing the saturation equation of the wetting phase in each time-step used for the pressure in the fracture. According to the concept proposed in [17, 24, 27], the time-step size for the pressure can be taken larger than the one for saturation, which is also demonstrated to be efficient for the method proposed in [25]. We divide the time-step for the pressure in the fracture network into time-steps as , where and . This time division is used for the saturation in the matrix domain. Because of the permeability contrast between the matrix and the fracture, the saturation in the fractures changes more rapidly than that in the matrix domain. Therefore, a smaller time-step size is required for the saturation in the fracture system; that is, we partition into time substeps as , where and . Denote and . The explicit scheme is employed for the saturation equation both in the matrix domain and in the fracture network We use the upwind CCFD method to discretize the saturation equation (3.30) Let be the interface between the matrix gridcells and ; that is, . If , the term in (3.32) is determined by If is a gridcell of the fracture network, the term in (3.32) is determined by where
It is analogous to discretize the saturation equation in the fracture system as where is a gridcell of the fracture network. Let where and are the fracture gridcells, then we have The volumetric transfer across the matrix-fracture interface is given by where In the above equations, the fluxes are obtained after solving the pressure equation.
To explicitly update of the saturation in the fractures, we use the previous matrix saturation in the matrix-fracture interfaces, and then obtain the matrix-vector form of (3.36) After smaller time-steps, we update the saturation in the matrix domain by employing the following matrix-vector form of (3.32) as
In (3.40) and (3.41), and indicate the interconnections of the saturation in the matrix blocks and fracture system.
4. Numerical Tests
Four numerical examples are provided to demonstrate the efficiency of the multiscale time splitting strategy proposed in this work. We compare it with a conventional method that takes the larger time-step for the pressure than the saturation. The conventional method is referred to the method proposed in [25] when the capillarity is taken into account, while it becomes the classical IMPES method for the case without the effect of capillarity. The two methods use the same relaxation factor for each designated example with the capillarity.
4.1. Physical and Computational Data Used in Numerical Tests
The normalized saturation is given by where and are the residual saturations of the wetting and nonwetting phases, respectively. The capillary pressure function [1] is given by where is a positive parameter related to the absolute permeability. The relative permeabilities of two phases are given by where is a positive integer number.
In Examples 1 and 2, we consider the horizontal layers with the same domain dimensions 10 m × 10 m × 1 m, but containing the different networks composed of two fractures. The domain of Examples 3 and 4 is a horizontal porous medium of 20 m × 15 m × 1 m with multiple interconnected fractures. With media being horizontal, it is reasonable to neglect the effect of gravity in all examples. We simulate the displacement process of oil by water; that is, we inject the water at the left end of the medium, which void is initially fully saturated with oil, to produce the oil at the right-hand side. The fluxes towards outsides of the other boundaries vanish. There is no other injection and no extraction to the interior of the domain.
The physical an computational data is provided in Table 1, in which the subscripts "" and "" of some raw titles represent the matrix domain and the fracture system, respectively. In Tables 2–5, the title for column represents the time-step size used for the pressure in the matrix domain if the proposed method is applied, and the other column titles are defined as in Section 3.
4.2. Example 1
In Example 1, the fracture distribution in the tested medium is provided in Figure 1. The permeabilities in the matrix blocks and the fractures are 1 md and 105 md, respectively. The viscosities of the water and oil are 1 cP and 0.5 cP, respectively. The injection rate is 0.2 PV/year. We use the cubic relative permeabilities. The total number of matrix and fracture gridcells is 2704 in this example. The residual saturations of water and oil are zero. The other data used in this example is provided in Table 1.
We simulate the displacement process of oil by water the saturation until 0.35 pore volume injection (PVI). Displayed in Table 2 are the time-step sizes and multiple subtiming strategy required for obtaining the stable solutions by the proposed multiscale time strategy and the conventional temporal approach. In Figures 2 and 3, we show the water saturation profiles at 0.35 PVI computed by the two methods.
In this example, the two-scale time splitting strategy is used only for the pressure equation, but with the single-scale time-stepping for the saturation equation. The two methods have the same subtiming between the pressure and the saturation, that is, . In order to achieve stable solutions, with two-scale strategy for the pressure equation, the proposed method can take the time-step size 0.9827 days, which is twice as many over the maximum time-step size 0.4121 days required by the conventional method. It is evident that the size of the pressure equation in the fine-scale time-steps is less than that in the coarse scale. Hence, this example demonstrates the efficiency of the proposed two-scale implicit treatment for the pressure equation.
4.3. Example 2
In this example, we consider a fractured porous medium with two interconnected fractures, which is shown in Figure 4. The permeability in the fractures is 106 md. The viscosity of the oil is 0.65 cP. In this example, the total number of matrix and fracture gridcells is 2704. The other data used in this example is provided in Table 1. The displacement of oil by water is simulated until 0.45 PVI.
In this example, the proposed method takes the two-scale time splitting strategy for both the pressure and the saturation. The same subtiming between the pressure and the saturation are also employed in the two methods. The details are displayed in Table 3. The water saturation profiles at 0.45 PVI computed by the two methods are shown in Figures 5 and 6, respectively.
As shown in Table 3, in order to achieve stable solutions, the proposed method, with two-scale subtiming, can take a very large time-step size 1.6846 days, while the conventional method requires a very small time-step size, which is less than a tenth part of the proposed method. This example demonstrates that the two-scale time splitting strategy is efficient not only for the pressure equation, but also for the saturation equation.
4.4. Example 3
In this example, we consider a porous medium with a network composed of multiple interconnected fractures, which is shown in Figure 7. In Example 3, the total number of matrix and fracture gridcells is 3300. The commotional data used in this example is provided in Table 1. We simulate the displacement of oil by water until 0.5 PVI.
In this example, we use the proposed method with two-scale time splitting strategy for both the pressure and the saturation, along with the subtiming approach between the pressure and the saturation that is also employed in the conventional method. The details are provided in Table 4. Figures 8 and 9 show the water saturation profiles at 0.5 PVI computed by the two methods, respectively.
From Table 4, we can see that the multiscale time splitting technique is capable of taking a very large time-step size 1.9010 days to achieve stable solutions. The conventional method, however, requires a very small time-step size, that is, 0.0895 days, which is the maximum time-step size for its stability with . Apparently, the multiscale time splitting strategy is superior to the conventional method for the multiple-fractured media.
4.5. Example 4
In this example, we attempt to provide the performance of the proposed method for the case neglecting the capillarity. The domain, fluid and computational parameters of this example are the same to Example 3, but the capillarity is absent in this example. The displacement of oil by water is also simulated until 0.5 PVI.
Displayed in Table 5 is the comparison of the proposed multiscale time splitting strategy and the conventional method. Figures 10 and 11 are the water saturation profiles at 0.5 PVI computed by the two methods, respectively. From Figures 10 and 11, we can see that without the effect of capillary pressure contrast at the matrix-fracture interfaces, the water flows very quickly through the fractures. The results in Table 5 indicate that the proposed multiscale time splitting method is still efficient.
5. Conclusions
A multiscale time splitting strategy is introduced for simulating two-phase flow in fractured porous media. In the fractured porous media, the fracture system is high permeable, but with the very small storage. With different capillary pressure functions being imposed in the matrix blocks and the fracture network, the discontinuity of the saturation on the matrix-fracture interface results from the continuity of capillary pressure. As a result, the conventional single-scale temporal schemes have shortage to handle the complexity of the multiphysics processes of two-phase flow. In this paper, we use multiscale time schemes for both the pressure and saturation equations. Based on the conception proposed in [25], the capillary pressure is treated implicitly in the pressure equation, but the saturation is yet explicitly updated. Our multiscale time splitting approach divides the total time interval into four temporal levels; the first level is used for the pressure in the entire domain, the second level matches the rapid changes of the pressure in the fractures, the third level is used to treat the response gap between the pressure and saturation, and the fourth level is used to match the fast changes of the saturation in the fracture system.
Numerical (Examples 1–3) demonstrate that when the effect of capillarity is considered, the multiscale time splitting approach can take a very large time-step size to achieve stable solutions, but a very small time-step size is required by the conventional method. The computational efficiency can be improved as it can reduce the cost of implicit solution of the pressure equation. Example 4 indicates that the proposed method is also efficient for the case without capillarity.
Acknowledgment
The authors cheerfully appreciate the generous support of the university research fund to the Computational Transport Phenomena Laboratory at KAUST.