# Multiscale Time-Splitting Strategy for Multiscale Multiphysics Processes of Two-Phase Flow in Fractured Media

Authors: Jisheng Kou; Shuyu Sun; Bo Yu
Journal: Journal of Applied Mathematics
 (2011)

---

## 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.


---

## Body

## 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 Section2, 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 subscriptw and the nonwetting phase by n. The mass conservation equation of each phase is given by(2.1)ϕ∂Sα∂t+∇⋅uα=qα,α=w,n,
where ϕ is the porosity of the medium, Sα is the saturation of phase α, and qα is the external mass flow rate. In (2.1), Darcy's velocity uα of each phase α is given by(2.2)uα=-krαμαK(∇pα+ραg∇z),α=w,n,
where K is the absolute permeability tensor in the porous medium, g is the gravity acceleration, z is the depth, and krα, μα, pα, 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(2.3)Sw+Sn=1.
The difference between the nonwetting phase and wetting phase pressures is described by the capillary pressure(2.4)pc(Sw)=pn-pw.In this paper, we use the two-phase flow formulation [1, 7, 48] given by(2.5)∇⋅(ua+uc)≡-∇⋅λtK∇Φw-∇⋅λnK∇Φc=qt,(2.6)ϕ∂Sw∂t-qw=-∇⋅(fwua)≡∇⋅λwK∇Φw,
where qt=qw+qn, λα=krα/μα, λt=λw+λn, fw=λw/λt, Φα=pα+ρgz, Φc=pc+(ρn-ρw)gz, ua=-λtK∇Φw, and uc=-λnK∇Φc. From the above definitions, the wetting-phase velocity is expressed as(2.7)uw=fwua.Finally, we consider the boundary and initial conditions. We divide the boundary∂Ω of the computational domain Ω into the two nonoverlapping parts: the Dirichelt part ΓD and Newmann part ΓN, where ∂Ω=ΓD∪ΓN. The pressure equation (2.5) is subject to the following boundary conditions(2.8)pw(orpn)=pDonΓD,(ua+uc)⋅n=uNonΓN,
where pD is the pressure on ΓD, n is the outward unit normal vector to ∂Ω and uN is the imposed inflow rate on ΓN. The boundary conditions for the saturations are given by(2.9)Sw(orSn)=SNonΓN.
The initial saturation of the wetting phase is given by(2.10)Sw=Sw0inΩ.


### 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 n-dimensional domain, the matrix gridcells are n-dimensional, but the fracture gridcells are simplified as the matrix gridcell interfaces that are (n-1)-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 Ωm (n-dimensional) and fracture Ωf ((n-1)-dimensional), and the fractures are surrounded by the matrix blocks. The pressure equation in the matrix domain is given by(2.11)-∇⋅λt,mKm∇Φw,m-∇⋅λn,mKm∇Φc,m=qt,m,
where the subscript m represents the matrix domain. Equation (2.11) is subject to the matrix-fracture interface condition(2.12)Φw,m=Φw,f,Φc,m=Φc,f,on∂Ωm∩Ωf.
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 f) as(2.13)-∇⋅λt,fKf∇Φw,f-∇⋅λn,fKf∇Φc,f=qt,f+Qt,f,
where Qt,f is the mass transfer across the matrix-fracture interfaces. Similarly, we can express the saturation equation in the matrix domain as(2.14)ϕm∂Sw,m∂t-∇⋅λw,mKm∇Φw,m=qw,m,
with the interface condition(2.15)Sw,m=Sw,f,on∂Ωm∩Ωf.
In accordance, the saturation equation in the fracture system is given by(2.16)ϕf∂Sw,f∂t-∇⋅λw,fKf∇Φw,f=qw,f+Qw,f,
where Qw,f 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(2.17)ϕm∂Sw,m∂t+∇⋅(fw,mua,m)=qw,m,
and in the fractures(2.18)ϕf∂Sw,f∂t+∇⋅(fw,fua,f)=qw,f+Q̂w,f,
where Q̂w,f is the same to Qw,f, but with different expressions in the spatial discretization.


## 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 subscriptw and the nonwetting phase by n. The mass conservation equation of each phase is given by(2.1)ϕ∂Sα∂t+∇⋅uα=qα,α=w,n,
where ϕ is the porosity of the medium, Sα is the saturation of phase α, and qα is the external mass flow rate. In (2.1), Darcy's velocity uα of each phase α is given by(2.2)uα=-krαμαK(∇pα+ραg∇z),α=w,n,
where K is the absolute permeability tensor in the porous medium, g is the gravity acceleration, z is the depth, and krα, μα, pα, 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(2.3)Sw+Sn=1.
The difference between the nonwetting phase and wetting phase pressures is described by the capillary pressure(2.4)pc(Sw)=pn-pw.In this paper, we use the two-phase flow formulation [1, 7, 48] given by(2.5)∇⋅(ua+uc)≡-∇⋅λtK∇Φw-∇⋅λnK∇Φc=qt,(2.6)ϕ∂Sw∂t-qw=-∇⋅(fwua)≡∇⋅λwK∇Φw,
where qt=qw+qn, λα=krα/μα, λt=λw+λn, fw=λw/λt, Φα=pα+ρgz, Φc=pc+(ρn-ρw)gz, ua=-λtK∇Φw, and uc=-λnK∇Φc. From the above definitions, the wetting-phase velocity is expressed as(2.7)uw=fwua.Finally, we consider the boundary and initial conditions. We divide the boundary∂Ω of the computational domain Ω into the two nonoverlapping parts: the Dirichelt part ΓD and Newmann part ΓN, where ∂Ω=ΓD∪ΓN. The pressure equation (2.5) is subject to the following boundary conditions(2.8)pw(orpn)=pDonΓD,(ua+uc)⋅n=uNonΓN,
where pD is the pressure on ΓD, n is the outward unit normal vector to ∂Ω and uN is the imposed inflow rate on ΓN. The boundary conditions for the saturations are given by(2.9)Sw(orSn)=SNonΓN.
The initial saturation of the wetting phase is given by(2.10)Sw=Sw0inΩ.


## 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 n-dimensional domain, the matrix gridcells are n-dimensional, but the fracture gridcells are simplified as the matrix gridcell interfaces that are (n-1)-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 Ωm (n-dimensional) and fracture Ωf ((n-1)-dimensional), and the fractures are surrounded by the matrix blocks. The pressure equation in the matrix domain is given by(2.11)-∇⋅λt,mKm∇Φw,m-∇⋅λn,mKm∇Φc,m=qt,m,
where the subscript m represents the matrix domain. Equation (2.11) is subject to the matrix-fracture interface condition(2.12)Φw,m=Φw,f,Φc,m=Φc,f,on∂Ωm∩Ωf.
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 f) as(2.13)-∇⋅λt,fKf∇Φw,f-∇⋅λn,fKf∇Φc,f=qt,f+Qt,f,
where Qt,f is the mass transfer across the matrix-fracture interfaces. Similarly, we can express the saturation equation in the matrix domain as(2.14)ϕm∂Sw,m∂t-∇⋅λw,mKm∇Φw,m=qw,m,
with the interface condition(2.15)Sw,m=Sw,f,on∂Ωm∩Ωf.
In accordance, the saturation equation in the fracture system is given by(2.16)ϕf∂Sw,f∂t-∇⋅λw,fKf∇Φw,f=qw,f+Qw,f,
where Qw,f 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(2.17)ϕm∂Sw,m∂t+∇⋅(fw,mua,m)=qw,m,
and in the fractures(2.18)ϕf∂Sw,f∂t+∇⋅(fw,fua,f)=qw,f+Q̂w,f,
where Q̂w,f is the same to Qw,f, 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[0,T] into Np,m time-steps as 0=t0<t1<⋯<tNp,m=T. This time division is used for the pressure in the matrix domain. Define the time-step length Δti=ti+1-ti. 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 (ti,ti+1] into Np,f subsubintervals as (ti,ti+1]=⋃j=0Np,f-1(ti,j,ti,j+1], where ti,0=ti and ti,Np,f=ti+1, and denote the subsubinterval length by Δti,j=ti,j+1-ti,j. We denote the value of a variable v on the ti time point by vi and the one on ti,j by vi,j.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Φc 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 λw, λn, and λt in the pressure equation as IMPES, but the capillary potentials Φc will be treated implicitly. From this, we obtain the mass conservation equation in the matrix domain(3.1)-∇⋅λt(Sw,mi)Km∇Φw,mi+1-∇⋅λn(Sw,mi)Km∇((1-ω)Φc,mi+ωΦc,mi+1)=qt,mi+1,
where the superscript i represents the time-step and ω is the temporal discretization parameter. Apparently, it becomes the form of IMPES if ω=0. Here, we always take ω≥1/2; that is, the capillarity is implicitly treated. It is similar to obtain the form in the fracture (referred to by the subscript f) as(3.2)-∇⋅λt(Sw,fi)Kf∇Φw,fi+1-∇⋅λn(Sw,fi)Kf∇((1-ω)Φc,fi+ωΦc,fi+1)=qt,fi+1+Qt,fi+1.Lete indicate the boundary of the matrix gridcells. We use the CCFD scheme applied to (3.1) and obtain(3.3)∑e∈∂KFa,m,ei+1+∑e∈∂K((1-ω)Fc,m,ei+ωFc,m,ei+1)=qt,m,Ki+1|K|,
where |K| indicates the area of the cell K, and F indicates the flux across the boundary e of the gridcell K. Here, we assume that e is also a gridcell of the fractures if e∈Ωf. On each interface e∈∂K∩∂K′, ne is the unit normal vector pointing from K to K′. If e∈∂K∩∂K′ and e⊈Ωf, the fluxes in (3.3) are given by
(3.4)Fa,m,ei+1=-|e|βt,eiΦw,m,K′i+1-Φw,m,Ki+1dK,K′,Fc,m,ei=-|e|βn,eiΦc,m,K′i-Φc,m,KidK,K′,Fc,m,ei+1=-|e|βn,eiΦc,m,K′i+1-Φc,m,Ki+1dK,K′,
where |e| is the length of e and dK,K′ stands for the Euclidean distance between the central points of the cells K and K′. In (3.4), the terms βt,ei and βn,ei are given by(3.5)βt,ei=dK,K′λt,m,Kiλt,m,K′iKm,KKm,K′dK,eλt,m,K′iKm,K′+dK′,eλt,m,KiKm,K,βn,ei=dK,K′λn,m,Kiλn,m,K′iKm,KKm,K′dK,eλn,m,K′iKm,K′+dK′,eλn,m,KiKm,K,
where dK,e stands for the Euclidean distance from the central points of the cell K and the cell boundary e. If e∈Ωf∩∂K∩∂K′ and e is a gridcell of the fracture system, we have(3.6)Fa,m,ei+1≡Fa,m,e,Ki+1=-|e|βt,mf,eiΦw,f,ei+1-Φw,m,Ki+1dK,e+ε/2,(3.7)Fc,m,ei≡Fc,m,e,Ki=-|e|βn,mf,eiΦc,f,ei-Φc,m,KidK,e+ε/2,(3.8)Fc,m,ei+1≡Fc,m,e,Ki+1=-|e|βn,mf,eiΦc,f,ei+1-Φc,m,Ki+1dK,e+ε/2,
where βt,mf,ei and βn,mf,ei are given by(3.9)βt,mf,ei=(dK,e+ε/2)λt,f,Kiλt,m,KiKf,KKm,K(ε/2)λt,m,KiKm,K+dK,eλt,f,KiKf,K,βn,mf,ei=(dK,e+ε/2)λn,f,Kiλn,m,KiKf,KKm,K(ε/2)λn,m,KiKm,K+dK,eλn,f,KiKf,K.
For the case e locating on the entire domain boundary, the pressure potential is provided by Dirichelt boundary conditions if e∈ΓD, otherwise the fluxes are determined by the Newmann conditions if e∈∂ΩN.The above processes of deriving (3.3)–(3.9) can also be carried out for the reduced-dimensional fracture system. Let e be a gridcell of the fracture network. The CCFD scheme is applied to (3.2), and then we have(3.10)∑γ∈∂eFa,f,γi+1+∑γ∈∂e((1-ω)Fc,f,γi+ωFc,f,γi+1)=qt,f,ei+1|e|+Qt,f,ei+1|e|,
where γ indicates the face of the gridcell e in the fracture system and F indicates the flux across the boundary γ of the fracture gridcell e. 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 e of the fracture network where e∈∂K∩∂K′ and K and K′ are the gridcells of the matrix domain. The fracture width is denoted by ε. The volumetric transfer across the matrix-fracture interface e is given by(3.11)Qt,f,ei+1=-(Qt,f,e,Ki+1+Qt,f,e,K′i+1)ε,Qt,f,e,Ki+1=Fa,m,e,Ki+1+(1-ω)Fc,m,e,Ki+ωFc,m,e,Ki+1,Qt,f,e,K′i+1=Fa,m,e,K′i+1+(1-ω)Fc,m,e,K′i+ωFc,m,e,K′i+1,
where Fa,m,ei+1, Fc,m,ei, and Fc,m,ei+1 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(3.12)∑e∈Λγ(Fa,f,γ,ei+1+(1-ω)Fc,f,γ,ei+ωFc,f,γ,ei+1)=0,
where Fa,f,γ,e=Fa,f,γ|γ∈e and Fc,f,γ,e=Fc,f,γ|γ∈e.Combining the formulations in the matrix domain and fracture network, we obtain the discretization of total mass conservation equation given by(3.13)[Aa,m,miAa,m,fiAa,f,miAa,f,fi][Φw,mi+1Φw,fi+1]+[Ac,m,miAc,m,fiAc,f,miAc,f,fi]×{(1-ω)[Φc,miΦc,fi]+ω[Φc,mi+1Φc,fi+1]}=[Qac,mi+1Qac,fi+1].
The terms Aa,m,fi, Aa,f,mi, Ac,m,fi, and Ac,f,mi of (3.13) arise from the interconnections of the matrix blocks and fracture system. Since ω>0 and Swi+1 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 Φc(Swi+1) at Swi by(3.14)Φc(Swi+1)≃Φc(Swi)+Φc′(Swi)(Swi+1-Swi).
Furthermore, we employ the backward Euler time discretization for the saturation equation both in the matrix domain(3.15)ϕmSw,mi+1-Sw,miΔti-∇⋅λw(Sw,mi)Km∇Φw,mi+1=qw,mi+1,
and in the fracture network(3.16)ϕfSw,fi+1-Sw,fiΔti-∇⋅λw(Sw,fi)Kf∇Φw,fi+1=qw,fi+1+Qw,fi+1.
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(3.17)1Δti[MmMf][Sw,mi+1-Sw,miSw,fi+1-Sw,fi]+[Aw,m,miAw,m,fiAw,f,miAw,f,fi][Φw,mi+1Φw,fi+1]=[Qw,mi+1Qw,fi+1].
Substituting (3.14) and (3.17) into (3.13), we obtain the coupled pressure equation(3.18)Ati[Φw,mi+1Φw,fi+1]=Qti,
where(3.19)Ati=[Aa,m,miAa,m,fiAa,f,miAa,f,fi]-ωΔti[Ac,m,miAc,m,fiAc,f,miAc,f,fi][Φc′(Sw,mi)Φc′(Sw,fi)]×[Mm-1Mf-1][Aw,m,miAw,m,fiAw,f,miAw,f,fi],Qti=[Qac,mi+1Qac,fi+1]-[Ac,m,miAc,m,fiAc,f,miAc,f,fi][Φc(Sw,mi)Φc(Sw,fi)]-ωΔti[Ac,m,miAc,m,fiAc,f,miAc,f,fi]×[Φc′(Sw,mi)Φc′(Sw,fi)][Mm-1Mf-1][Qw,mi+1Qw,fi+1].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(3.20)-∇⋅λt(Sw,fi,j)Kf∇Φw,fi,j+1-∇⋅λn(Sw,fi,j)Kf∇((1-ω)Φc,fi,j+ωΦc,fi,j+1)=qt,fi,j+1+Qt,fi,j+1.
It is obtained by using the CCFD scheme to (3.20) that(3.21)∑γ∈∂eFa,f,γi,j+1+∑γ∈∂e((1-ω)Fc,f,γi,j+ωFc,f,γi,j+1)=qt,f,ei,j+1|e|+Qt,f,ei,j+1|e|,
where γ is the face of the gridcell e in the fracture system and F represents the flux across the boundary γ of the fracture gridcell e. Let K and K′ are the matrix gridcells and e∈∂K∩K′, then in (3.21), the matrix-fracture transfer is given by(3.22)Qt,f,ei,j+1=-(Qt,f,e,Ki,j+1+Qt,f,e,K′i,j+1)ε,Qt,f,e,Ki,j+1=Fa,m,e,Ki,j+1+(1-ω)Fc,m,e,Ki,j+ωFc,m,e,Ki,j+1,Qt,f,e,K′i,j+1=Fa,m,e,K′i,j+1+(1-ω)Fc,m,e,K′i,j+ωFc,m,e,K′i,j+1,
where(3.23)Fa,m,e,Ki,j+1≡Fa,m,ei,j+1=-|e|βt,mf,ei,jΦw,f,ei,j+1-Φw,m,Ki+1dK,e+ε/2,(3.24)Fc,m,e,Ki,j≡Fc,m,ei,j=-|e|βc,mf,ei,jΦc,f,ei,j-Φc,m,Ki,jdK,e+ε/2,Fc,m,e,Ki,j+1≡Fc,m,ei,j+1=-|e|βc,mf,ei,jΦc,f,ei,j+1-Φc,m,Ki,j+1dK,e+ε/2,
along with(3.25)βt,mf,ei,j=(dK,e+ε/2)λt,f,Ki,jλt,m,Ki,jKf,KKm,K(ε/2)λt,m,Ki,jKm,K+dK,eλt,f,Ki,jKf,K,βc,mf,ei,j=(dK,e+ε/2)λc,f,Ki,jλc,m,Ki,jKf,KKm,K(ε/2)λc,m,Ki,jKm,K+dK,eλc,f,Ki,jKf,K.
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(3.26)At,fi,jΦw,fi,j+1=Qt,fi,j,
where
(3.27)At,fi,j=Aa,f,fi,j-ωΔti,j(Ac,f,fi,jΦc′(Sw,fi,j)Mf-1Aw,f,fi,j+Ac,f,mi,jΦc′(Sw,mi,j)Mm-1Aw,m,fi,j),Qt,fi,j=Qac,fi,j+1-Aa,f,mi,jΦw,mi+1+ωΔti,j(Ac,f,mi,jΦc′(Sw,mi,j)Mm-1Aw,m,mi,j+Ac,f,fi,jΦc′(Sw,fi,j)Mf-1Aw,f,mi,j)Φw,mi+1-Ac,f,mi,jΦc(Sw,mi,j)-Ac,f,fi,jΦc(Sw,fi,j)-ωΔti,j(Ac,f,mi,jΦc′(Sw,mi,j)Mm-1Qw,mi+1+Ac,f,fi,jΦc′(Sw,fi,j)Mf-1Qw,fi+1).In the above equations, the inverse ofMm and Mf is not expensive as they are diagonal. In the time-step (ti,ti+1), we solve the linear system (3.18) implicitly to obtain the pressure Φw,mi+1, and then in the time substep (ti,j,ti,j+1) compute Φw,fi,j+1 by solving (3.26).Once the pressuresΦw,mi+1 and Φw,fi,j+1 is obtained, the fluxes can be evaluated as described below. For a boundary e of matrix gridcell K, ne is the unit normal vector pointing towards outside K. If e∈∂K∩∂K′ and e⊈Ωf,(3.28)Fa,m,ei,j+1=-|e|βt,ei,jΦw,m,K′i+1-Φw,m,Ki+1dK,K′,
where(3.29)βt,ei,j=dK,K′λt,m,Ki,jλt,m,K′i,jKm,KKm,K′dK,eλt,m,K′i,jKm,K′+dK′,eλt,m,Ki,jKm,K.
If e∈Ωf∩∂K∩∂K′ and e is a fracture gridcell, the fluxes are computed by (3.23). The fluxes on the domain boundary ∂ΩN 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 (ti,j,ti,j+1] for the pressure in the fracture network into Ns,m time-steps as (ti,j,ti,j+1]=⋃k=0Ns,m-1(ti,j,k,ti,j,k+1], where ti,j,0=ti,j and ti,j,Ns,m=ti,j+1. 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 (ti,j,k,ti,j,k+1] into Ns,f time substeps as (ti,j,k,ti,j,k+1]=⋃l=0Ns,f-1(ti,j,k,l,ti,j,k,l+1], where ti,j,k,0=ti,j,k and ti,j,k,Ns,f=ti,j,k+1. Denote Δti,j,k=ti,j,k+1-ti,j,k and Δti,j,k,l=ti,j,k,l+1-ti,j,k,l. The explicit scheme is employed for the saturation equation both in the matrix domain(3.30)ϕmSw,mi,j,k+1-Sw,mi,j,kΔti,j,k+∇⋅(fw,mi,j,kua,mi,j+1)=qw,mi,j,k,
and in the fracture network(3.31)ϕfSw,fi,j,k,l+1-Sw,fi,j,k,lΔti,j,k,l+∇⋅(fw,fi,j,k,lua,fi,j+1)=qw,fi,j,k,l+Qw,fi,j,k.
We use the upwind CCFD method to discretize the saturation equation (3.30)(3.32)|K|ϕm,KSw,m,Ki,j,k+1-Sw,m,Ki,j,kΔti,j,k+∑e∈∂Kfw,ei,j,kFa,m,ei,j+1=qw,m,Ki,j,k|K|.
Let e be the interface between the matrix gridcells K and K′; that is, e=∂K∩∂K′. If e⊈Ωf, the term fw,e in (3.32) is determined by(3.33)fw,ei,j,k={fw,m,Ki,j,k,Fa,m,ei,j+1>0,fw,m,K′i,j,k,Fa,m,ei,j+1<0.
If e⊆Ωf is a gridcell of the fracture network, the term fw,e in (3.32) is determined by(3.34)fw,ei,j,k={fw,m,Ki,j,k,Fa,m,ei,j+1>0,f̂w,f,ei,j,k,Fa,m,ei,j+1<0,
where(3.35)f̂w,f,ei,j,k=1Ns,f∑l=0Ns,f-1fw,f,ei,j,k,l+1+fw,f,ei,j,k,l2.It is analogous to discretize the saturation equation in the fracture system as(3.36)|e|ϕf,eSw,f,ei,j,k,l+1-Sw,f,ei,j,k,lΔti,j,k,l+∑γ∈∂efw,γi,j,k,lFa,f,γi,j+1=qw,f,γi,j,k,l|e|+Qw,f,ei,j,k,l|e|,
where e is a gridcell of the fracture network. Let γ=∂e∩∂e′ where e and e′ are the fracture gridcells, then we have(3.37)fw,γi,j,k,l={fw,f,ei,j,k,l,Fa,f,γi,j+1>0,fw,f,e′i,j,k,l,Fa,f,γi,j+1<0.
The volumetric transfer across the matrix-fracture interface e is given by(3.38)Qw,f,ei,j,k,l=-(Fa,m,e,Ki,j+1fw,e,Ki,j,k,l+Fa,m,e,K′i,j+1fw,e,K′i,j,k,l)ε,
where(3.39)fw,e,Ki,j,k,l={fw,m,Ki,j,k,Fa,m,e,Ki,j+1>0,fw,f,ei,j,k,l,Fa,m,e,Ki,j+1<0.
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)(3.40)1Δti,j,k,lMf(Sw,fi,j,k,l+1-Sw,fi,j,k,l)+As,f,fi,j+1fw,fi,j,k,l+As,f,mi,j+1fw,mi,j,k=Qs,fi,j,k,l.
After Ns,f smaller time-steps, we update the saturation in the matrix domain by employing the following matrix-vector form of (3.32) as
(3.41)1Δti,j,kMm(Sw,mi,j,k+1-Sw,mi,j,k)+As,m,mi,j+1fw,mi,j,k+As,m,fi,j+1f̂w,fi,j,k=Qs,mi,j,k.In (3.40) and (3.41), As,m,fi,j+1 and As,f,mi,j+1 indicate the interconnections of the saturation in the matrix blocks and fracture system.


## 3.1. Multi-Scale Time Splitting Approach for the Pressure Equation with Implicit Capillary Pressure

We firstly divide the total time interval[0,T] into Np,m time-steps as 0=t0<t1<⋯<tNp,m=T. This time division is used for the pressure in the matrix domain. Define the time-step length Δti=ti+1-ti. 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 (ti,ti+1] into Np,f subsubintervals as (ti,ti+1]=⋃j=0Np,f-1(ti,j,ti,j+1], where ti,0=ti and ti,Np,f=ti+1, and denote the subsubinterval length by Δti,j=ti,j+1-ti,j. We denote the value of a variable v on the ti time point by vi and the one on ti,j by vi,j.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Φc 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 λw, λn, and λt in the pressure equation as IMPES, but the capillary potentials Φc will be treated implicitly. From this, we obtain the mass conservation equation in the matrix domain(3.1)-∇⋅λt(Sw,mi)Km∇Φw,mi+1-∇⋅λn(Sw,mi)Km∇((1-ω)Φc,mi+ωΦc,mi+1)=qt,mi+1,
where the superscript i represents the time-step and ω is the temporal discretization parameter. Apparently, it becomes the form of IMPES if ω=0. Here, we always take ω≥1/2; that is, the capillarity is implicitly treated. It is similar to obtain the form in the fracture (referred to by the subscript f) as(3.2)-∇⋅λt(Sw,fi)Kf∇Φw,fi+1-∇⋅λn(Sw,fi)Kf∇((1-ω)Φc,fi+ωΦc,fi+1)=qt,fi+1+Qt,fi+1.Lete indicate the boundary of the matrix gridcells. We use the CCFD scheme applied to (3.1) and obtain(3.3)∑e∈∂KFa,m,ei+1+∑e∈∂K((1-ω)Fc,m,ei+ωFc,m,ei+1)=qt,m,Ki+1|K|,
where |K| indicates the area of the cell K, and F indicates the flux across the boundary e of the gridcell K. Here, we assume that e is also a gridcell of the fractures if e∈Ωf. On each interface e∈∂K∩∂K′, ne is the unit normal vector pointing from K to K′. If e∈∂K∩∂K′ and e⊈Ωf, the fluxes in (3.3) are given by
(3.4)Fa,m,ei+1=-|e|βt,eiΦw,m,K′i+1-Φw,m,Ki+1dK,K′,Fc,m,ei=-|e|βn,eiΦc,m,K′i-Φc,m,KidK,K′,Fc,m,ei+1=-|e|βn,eiΦc,m,K′i+1-Φc,m,Ki+1dK,K′,
where |e| is the length of e and dK,K′ stands for the Euclidean distance between the central points of the cells K and K′. In (3.4), the terms βt,ei and βn,ei are given by(3.5)βt,ei=dK,K′λt,m,Kiλt,m,K′iKm,KKm,K′dK,eλt,m,K′iKm,K′+dK′,eλt,m,KiKm,K,βn,ei=dK,K′λn,m,Kiλn,m,K′iKm,KKm,K′dK,eλn,m,K′iKm,K′+dK′,eλn,m,KiKm,K,
where dK,e stands for the Euclidean distance from the central points of the cell K and the cell boundary e. If e∈Ωf∩∂K∩∂K′ and e is a gridcell of the fracture system, we have(3.6)Fa,m,ei+1≡Fa,m,e,Ki+1=-|e|βt,mf,eiΦw,f,ei+1-Φw,m,Ki+1dK,e+ε/2,(3.7)Fc,m,ei≡Fc,m,e,Ki=-|e|βn,mf,eiΦc,f,ei-Φc,m,KidK,e+ε/2,(3.8)Fc,m,ei+1≡Fc,m,e,Ki+1=-|e|βn,mf,eiΦc,f,ei+1-Φc,m,Ki+1dK,e+ε/2,
where βt,mf,ei and βn,mf,ei are given by(3.9)βt,mf,ei=(dK,e+ε/2)λt,f,Kiλt,m,KiKf,KKm,K(ε/2)λt,m,KiKm,K+dK,eλt,f,KiKf,K,βn,mf,ei=(dK,e+ε/2)λn,f,Kiλn,m,KiKf,KKm,K(ε/2)λn,m,KiKm,K+dK,eλn,f,KiKf,K.
For the case e locating on the entire domain boundary, the pressure potential is provided by Dirichelt boundary conditions if e∈ΓD, otherwise the fluxes are determined by the Newmann conditions if e∈∂ΩN.The above processes of deriving (3.3)–(3.9) can also be carried out for the reduced-dimensional fracture system. Let e be a gridcell of the fracture network. The CCFD scheme is applied to (3.2), and then we have(3.10)∑γ∈∂eFa,f,γi+1+∑γ∈∂e((1-ω)Fc,f,γi+ωFc,f,γi+1)=qt,f,ei+1|e|+Qt,f,ei+1|e|,
where γ indicates the face of the gridcell e in the fracture system and F indicates the flux across the boundary γ of the fracture gridcell e. 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 e of the fracture network where e∈∂K∩∂K′ and K and K′ are the gridcells of the matrix domain. The fracture width is denoted by ε. The volumetric transfer across the matrix-fracture interface e is given by(3.11)Qt,f,ei+1=-(Qt,f,e,Ki+1+Qt,f,e,K′i+1)ε,Qt,f,e,Ki+1=Fa,m,e,Ki+1+(1-ω)Fc,m,e,Ki+ωFc,m,e,Ki+1,Qt,f,e,K′i+1=Fa,m,e,K′i+1+(1-ω)Fc,m,e,K′i+ωFc,m,e,K′i+1,
where Fa,m,ei+1, Fc,m,ei, and Fc,m,ei+1 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(3.12)∑e∈Λγ(Fa,f,γ,ei+1+(1-ω)Fc,f,γ,ei+ωFc,f,γ,ei+1)=0,
where Fa,f,γ,e=Fa,f,γ|γ∈e and Fc,f,γ,e=Fc,f,γ|γ∈e.Combining the formulations in the matrix domain and fracture network, we obtain the discretization of total mass conservation equation given by(3.13)[Aa,m,miAa,m,fiAa,f,miAa,f,fi][Φw,mi+1Φw,fi+1]+[Ac,m,miAc,m,fiAc,f,miAc,f,fi]×{(1-ω)[Φc,miΦc,fi]+ω[Φc,mi+1Φc,fi+1]}=[Qac,mi+1Qac,fi+1].
The terms Aa,m,fi, Aa,f,mi, Ac,m,fi, and Ac,f,mi of (3.13) arise from the interconnections of the matrix blocks and fracture system. Since ω>0 and Swi+1 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 Φc(Swi+1) at Swi by(3.14)Φc(Swi+1)≃Φc(Swi)+Φc′(Swi)(Swi+1-Swi).
Furthermore, we employ the backward Euler time discretization for the saturation equation both in the matrix domain(3.15)ϕmSw,mi+1-Sw,miΔti-∇⋅λw(Sw,mi)Km∇Φw,mi+1=qw,mi+1,
and in the fracture network(3.16)ϕfSw,fi+1-Sw,fiΔti-∇⋅λw(Sw,fi)Kf∇Φw,fi+1=qw,fi+1+Qw,fi+1.
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(3.17)1Δti[MmMf][Sw,mi+1-Sw,miSw,fi+1-Sw,fi]+[Aw,m,miAw,m,fiAw,f,miAw,f,fi][Φw,mi+1Φw,fi+1]=[Qw,mi+1Qw,fi+1].
Substituting (3.14) and (3.17) into (3.13), we obtain the coupled pressure equation(3.18)Ati[Φw,mi+1Φw,fi+1]=Qti,
where(3.19)Ati=[Aa,m,miAa,m,fiAa,f,miAa,f,fi]-ωΔti[Ac,m,miAc,m,fiAc,f,miAc,f,fi][Φc′(Sw,mi)Φc′(Sw,fi)]×[Mm-1Mf-1][Aw,m,miAw,m,fiAw,f,miAw,f,fi],Qti=[Qac,mi+1Qac,fi+1]-[Ac,m,miAc,m,fiAc,f,miAc,f,fi][Φc(Sw,mi)Φc(Sw,fi)]-ωΔti[Ac,m,miAc,m,fiAc,f,miAc,f,fi]×[Φc′(Sw,mi)Φc′(Sw,fi)][Mm-1Mf-1][Qw,mi+1Qw,fi+1].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(3.20)-∇⋅λt(Sw,fi,j)Kf∇Φw,fi,j+1-∇⋅λn(Sw,fi,j)Kf∇((1-ω)Φc,fi,j+ωΦc,fi,j+1)=qt,fi,j+1+Qt,fi,j+1.
It is obtained by using the CCFD scheme to (3.20) that(3.21)∑γ∈∂eFa,f,γi,j+1+∑γ∈∂e((1-ω)Fc,f,γi,j+ωFc,f,γi,j+1)=qt,f,ei,j+1|e|+Qt,f,ei,j+1|e|,
where γ is the face of the gridcell e in the fracture system and F represents the flux across the boundary γ of the fracture gridcell e. Let K and K′ are the matrix gridcells and e∈∂K∩K′, then in (3.21), the matrix-fracture transfer is given by(3.22)Qt,f,ei,j+1=-(Qt,f,e,Ki,j+1+Qt,f,e,K′i,j+1)ε,Qt,f,e,Ki,j+1=Fa,m,e,Ki,j+1+(1-ω)Fc,m,e,Ki,j+ωFc,m,e,Ki,j+1,Qt,f,e,K′i,j+1=Fa,m,e,K′i,j+1+(1-ω)Fc,m,e,K′i,j+ωFc,m,e,K′i,j+1,
where(3.23)Fa,m,e,Ki,j+1≡Fa,m,ei,j+1=-|e|βt,mf,ei,jΦw,f,ei,j+1-Φw,m,Ki+1dK,e+ε/2,(3.24)Fc,m,e,Ki,j≡Fc,m,ei,j=-|e|βc,mf,ei,jΦc,f,ei,j-Φc,m,Ki,jdK,e+ε/2,Fc,m,e,Ki,j+1≡Fc,m,ei,j+1=-|e|βc,mf,ei,jΦc,f,ei,j+1-Φc,m,Ki,j+1dK,e+ε/2,
along with(3.25)βt,mf,ei,j=(dK,e+ε/2)λt,f,Ki,jλt,m,Ki,jKf,KKm,K(ε/2)λt,m,Ki,jKm,K+dK,eλt,f,Ki,jKf,K,βc,mf,ei,j=(dK,e+ε/2)λc,f,Ki,jλc,m,Ki,jKf,KKm,K(ε/2)λc,m,Ki,jKm,K+dK,eλc,f,Ki,jKf,K.
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(3.26)At,fi,jΦw,fi,j+1=Qt,fi,j,
where
(3.27)At,fi,j=Aa,f,fi,j-ωΔti,j(Ac,f,fi,jΦc′(Sw,fi,j)Mf-1Aw,f,fi,j+Ac,f,mi,jΦc′(Sw,mi,j)Mm-1Aw,m,fi,j),Qt,fi,j=Qac,fi,j+1-Aa,f,mi,jΦw,mi+1+ωΔti,j(Ac,f,mi,jΦc′(Sw,mi,j)Mm-1Aw,m,mi,j+Ac,f,fi,jΦc′(Sw,fi,j)Mf-1Aw,f,mi,j)Φw,mi+1-Ac,f,mi,jΦc(Sw,mi,j)-Ac,f,fi,jΦc(Sw,fi,j)-ωΔti,j(Ac,f,mi,jΦc′(Sw,mi,j)Mm-1Qw,mi+1+Ac,f,fi,jΦc′(Sw,fi,j)Mf-1Qw,fi+1).In the above equations, the inverse ofMm and Mf is not expensive as they are diagonal. In the time-step (ti,ti+1), we solve the linear system (3.18) implicitly to obtain the pressure Φw,mi+1, and then in the time substep (ti,j,ti,j+1) compute Φw,fi,j+1 by solving (3.26).Once the pressuresΦw,mi+1 and Φw,fi,j+1 is obtained, the fluxes can be evaluated as described below. For a boundary e of matrix gridcell K, ne is the unit normal vector pointing towards outside K. If e∈∂K∩∂K′ and e⊈Ωf,(3.28)Fa,m,ei,j+1=-|e|βt,ei,jΦw,m,K′i+1-Φw,m,Ki+1dK,K′,
where(3.29)βt,ei,j=dK,K′λt,m,Ki,jλt,m,K′i,jKm,KKm,K′dK,eλt,m,K′i,jKm,K′+dK′,eλt,m,Ki,jKm,K.
If e∈Ωf∩∂K∩∂K′ and e is a fracture gridcell, the fluxes are computed by (3.23). The fluxes on the domain boundary ∂ΩN 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 (ti,j,ti,j+1] for the pressure in the fracture network into Ns,m time-steps as (ti,j,ti,j+1]=⋃k=0Ns,m-1(ti,j,k,ti,j,k+1], where ti,j,0=ti,j and ti,j,Ns,m=ti,j+1. 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 (ti,j,k,ti,j,k+1] into Ns,f time substeps as (ti,j,k,ti,j,k+1]=⋃l=0Ns,f-1(ti,j,k,l,ti,j,k,l+1], where ti,j,k,0=ti,j,k and ti,j,k,Ns,f=ti,j,k+1. Denote Δti,j,k=ti,j,k+1-ti,j,k and Δti,j,k,l=ti,j,k,l+1-ti,j,k,l. The explicit scheme is employed for the saturation equation both in the matrix domain(3.30)ϕmSw,mi,j,k+1-Sw,mi,j,kΔti,j,k+∇⋅(fw,mi,j,kua,mi,j+1)=qw,mi,j,k,
and in the fracture network(3.31)ϕfSw,fi,j,k,l+1-Sw,fi,j,k,lΔti,j,k,l+∇⋅(fw,fi,j,k,lua,fi,j+1)=qw,fi,j,k,l+Qw,fi,j,k.
We use the upwind CCFD method to discretize the saturation equation (3.30)(3.32)|K|ϕm,KSw,m,Ki,j,k+1-Sw,m,Ki,j,kΔti,j,k+∑e∈∂Kfw,ei,j,kFa,m,ei,j+1=qw,m,Ki,j,k|K|.
Let e be the interface between the matrix gridcells K and K′; that is, e=∂K∩∂K′. If e⊈Ωf, the term fw,e in (3.32) is determined by(3.33)fw,ei,j,k={fw,m,Ki,j,k,Fa,m,ei,j+1>0,fw,m,K′i,j,k,Fa,m,ei,j+1<0.
If e⊆Ωf is a gridcell of the fracture network, the term fw,e in (3.32) is determined by(3.34)fw,ei,j,k={fw,m,Ki,j,k,Fa,m,ei,j+1>0,f̂w,f,ei,j,k,Fa,m,ei,j+1<0,
where(3.35)f̂w,f,ei,j,k=1Ns,f∑l=0Ns,f-1fw,f,ei,j,k,l+1+fw,f,ei,j,k,l2.It is analogous to discretize the saturation equation in the fracture system as(3.36)|e|ϕf,eSw,f,ei,j,k,l+1-Sw,f,ei,j,k,lΔti,j,k,l+∑γ∈∂efw,γi,j,k,lFa,f,γi,j+1=qw,f,γi,j,k,l|e|+Qw,f,ei,j,k,l|e|,
where e is a gridcell of the fracture network. Let γ=∂e∩∂e′ where e and e′ are the fracture gridcells, then we have(3.37)fw,γi,j,k,l={fw,f,ei,j,k,l,Fa,f,γi,j+1>0,fw,f,e′i,j,k,l,Fa,f,γi,j+1<0.
The volumetric transfer across the matrix-fracture interface e is given by(3.38)Qw,f,ei,j,k,l=-(Fa,m,e,Ki,j+1fw,e,Ki,j,k,l+Fa,m,e,K′i,j+1fw,e,K′i,j,k,l)ε,
where(3.39)fw,e,Ki,j,k,l={fw,m,Ki,j,k,Fa,m,e,Ki,j+1>0,fw,f,ei,j,k,l,Fa,m,e,Ki,j+1<0.
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)(3.40)1Δti,j,k,lMf(Sw,fi,j,k,l+1-Sw,fi,j,k,l)+As,f,fi,j+1fw,fi,j,k,l+As,f,mi,j+1fw,mi,j,k=Qs,fi,j,k,l.
After Ns,f smaller time-steps, we update the saturation in the matrix domain by employing the following matrix-vector form of (3.32) as
(3.41)1Δti,j,kMm(Sw,mi,j,k+1-Sw,mi,j,k)+As,m,mi,j+1fw,mi,j,k+As,m,fi,j+1f̂w,fi,j,k=Qs,mi,j,k.In (3.40) and (3.41), As,m,fi,j+1 and As,f,mi,j+1 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 saturationSe is given by(4.1)Se=Sw-Srw1-Srw-Srn,
where Srw and Srn are the residual saturations of the wetting and nonwetting phases, respectively. The capillary pressure function [1] is given by(4.2)pc(Sw)=-Bclog⁡(Se),
where Bc is a positive parameter related to the absolute permeability. The relative permeabilities of two phases are given by(4.3)krw=Sed,krn=(1-Se)d,
where d 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 Table1, in which the subscripts "m" and "f" of some raw titles represent the matrix domain and the fracture system, respectively. In Tables 2–5, the title for column Δt 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.Table 1
Relevant data for Examples 1–4.
ParameterExample 1Example 2Examples 3 and 4Domain dimensions10 m × 10 m × 1 m10 m × 10 m × 1 m20 m × 15 m × 1 mFracture aperture0.01 m0.01 m0.01 mϕm0.20.20.15ϕf111Km (md)1150Kf (md)105106106μw (cP)111μn (cP)0.50.650.6d332Bc,m (bar)0.150.10.003 (Example 3)Bc,f (bar)10−310−410−4 (Example 3)Srw000Srn000Injection rate0.2 PV/year0.15 PV/year0.2 PV/yearω110.5Table 2
Comparison of Example 1.
MethodΔt (days)Np,fNs,mNs,fNew0.9827261Conventional0.4121161Table 3
Comparison of Example 2.
MethodΔt (days)Np,fNs,mNs,fNew1.6846353Conventional0.1654151Table 4
Comparison of Example 3.
MethodΔt (days)Np,fNs,mNs,fNew1.9010852Conventional0.0895151Table 5
Comparison of Example 4.
MethodΔt (days)Np,fNs,mNs,fNew4.5625952Conventional0.1967151


### 4.2. Example 1

In Example 1, the fracture distribution in the tested medium is provided in Figure1. 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.Figure 1
Distribution of fractures: Example 1.We simulate the displacement process of oil by water the saturation until 0.35 pore volume injection (PVI). Displayed in Table2 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.Figure 2
Water saturation profile at 0.35 PVI by the proposed method: Example 1.Figure 3
Water saturation profile at 0.35 PVI by the conventional method: Example 1.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,Ns,m=6. 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 Figure4. 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.Figure 4
Distribution of fractures: Example 2.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 Table3. The water saturation profiles at 0.45 PVI computed by the two methods are shown in Figures 5 and 6, respectively.Figure 5
Water saturation profile at 0.45 PVI by the proposed method: Example 2.Figure 6
Water saturation profile at 0.45 PVI by the conventional method: Example 2.As shown in Table3, 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 Figure7. 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.Figure 7
Distribution of fractures: Example 3.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 Table4. Figures 8 and 9 show the water saturation profiles at 0.5 PVI computed by the two methods, respectively.Figure 8
Water saturation profile at 0.5 PVI by the proposed method: Example 3.Figure 9
Water saturation profile at 0.5 PVI by the conventional method: Example 3.From Table4, 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 Ns,m=5. 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 Table5 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.Figure 10
Water saturation profile at 0.5 PVI by the proposed method: Example 4.Figure 11
Water saturation profile at 0.5 PVI by the conventional method: Example 4.


## 4.1. Physical and Computational Data Used in Numerical Tests

The normalized saturationSe is given by(4.1)Se=Sw-Srw1-Srw-Srn,
where Srw and Srn are the residual saturations of the wetting and nonwetting phases, respectively. The capillary pressure function [1] is given by(4.2)pc(Sw)=-Bclog⁡(Se),
where Bc is a positive parameter related to the absolute permeability. The relative permeabilities of two phases are given by(4.3)krw=Sed,krn=(1-Se)d,
where d 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 Table1, in which the subscripts "m" and "f" of some raw titles represent the matrix domain and the fracture system, respectively. In Tables 2–5, the title for column Δt 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.Table 1
Relevant data for Examples 1–4.
ParameterExample 1Example 2Examples 3 and 4Domain dimensions10 m × 10 m × 1 m10 m × 10 m × 1 m20 m × 15 m × 1 mFracture aperture0.01 m0.01 m0.01 mϕm0.20.20.15ϕf111Km (md)1150Kf (md)105106106μw (cP)111μn (cP)0.50.650.6d332Bc,m (bar)0.150.10.003 (Example 3)Bc,f (bar)10−310−410−4 (Example 3)Srw000Srn000Injection rate0.2 PV/year0.15 PV/year0.2 PV/yearω110.5Table 2
Comparison of Example 1.
MethodΔt (days)Np,fNs,mNs,fNew0.9827261Conventional0.4121161Table 3
Comparison of Example 2.
MethodΔt (days)Np,fNs,mNs,fNew1.6846353Conventional0.1654151Table 4
Comparison of Example 3.
MethodΔt (days)Np,fNs,mNs,fNew1.9010852Conventional0.0895151Table 5
Comparison of Example 4.
MethodΔt (days)Np,fNs,mNs,fNew4.5625952Conventional0.1967151


## 4.2. Example 1

In Example 1, the fracture distribution in the tested medium is provided in Figure1. 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.Figure 1
Distribution of fractures: Example 1.We simulate the displacement process of oil by water the saturation until 0.35 pore volume injection (PVI). Displayed in Table2 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.Figure 2
Water saturation profile at 0.35 PVI by the proposed method: Example 1.Figure 3
Water saturation profile at 0.35 PVI by the conventional method: Example 1.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,Ns,m=6. 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 Figure4. 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.Figure 4
Distribution of fractures: Example 2.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 Table3. The water saturation profiles at 0.45 PVI computed by the two methods are shown in Figures 5 and 6, respectively.Figure 5
Water saturation profile at 0.45 PVI by the proposed method: Example 2.Figure 6
Water saturation profile at 0.45 PVI by the conventional method: Example 2.As shown in Table3, 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 Figure7. 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.Figure 7
Distribution of fractures: Example 3.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 Table4. Figures 8 and 9 show the water saturation profiles at 0.5 PVI computed by the two methods, respectively.Figure 8
Water saturation profile at 0.5 PVI by the proposed method: Example 3.Figure 9
Water saturation profile at 0.5 PVI by the conventional method: Example 3.From Table4, 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 Ns,m=5. 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 Table5 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.Figure 10
Water saturation profile at 0.5 PVI by the proposed method: Example 4.Figure 11
Water saturation profile at 0.5 PVI by the conventional method: Example 4.


## 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.



---

*Source: 861905-2011-03-17.xml*