Analysis and Finite-Volume Discretization of Capillary-Dominated Flow in Fractured Porous Media
Keywords:  Energy Resources Engineering
Stanford University
School of Earth Energy &amp; Environmental Sciences
Energy Resources Engineering
SUPRI-B
Thesis

The simulation of multiphase flow in tight and fractured heterogeneous porous media involves solving highly nonlinear PDEs that are sensitive to the design of the discretization scheme. The choice of the numerical schemes has significant impacts on the efficiency of the solver and the accuracy of the solution. For finite-volume discretization, fully implicit time discretization method (FIM) is a more practical option due to its fewer restrictions on the time-step size selection. For FIM the computational cost is highly dependent on the convergence of Newton's method that is utilized at each time-step plus the efficiency of the linear solver. In addition, the choice of upwinding strategy for the numerical flux approximation, either phase-potential upwinding (PPU) or implicit hybrid upwinding (IHU) has strong implications on both accuracy and efficiency, especially in complex multiphase flow settings such as counter-current flow due to strong buoyancy or capillarity. Moreover, the presence of discontinuities in the saturation functions, namely relative permeability and capillary pressure, in such capillary-dominated settings cause not only numerical solution difficulties but also accuracy loss unless the temporal and spatial resolution is very high.
In this thesis, we review and analyze the PPU and IHU numerical schemes for finite-volume discretization in such capillary-dominated settings, and investigate the impact of including local constraints that enforce capillary equilibrium at the interface between different rock regions. We show that these constraints improve accuracy at interfaces with capillary discontinuities and are enforced by means of a local transmission conditions solver. We refer to the enhanced discretization schemes as PPU-C and IHU-C. The details of the implementation of this local solver are discussed thoroughly in the report. We perform the analysis and comparison of the three schemes in three main test cases, including trapping due to capillary-drainage in tight layered reservoirs, recovery due to spontaneous imbibition in fractured reservoirs, and recovery due to forced imbibition in mixed-wet fractured reservoirs.
We found out that that the combination of the transmission conditions local solver with both IHU and PPU improves the accuracy and minimize the need for spatial refinement. IHU-C is the most accurate numerical scheme in most applications and exhibits robust nonlinear performance. PPU-C shows better accuracy than the standard PPU scheme which is most common in commercial simulators. The IHU-C is more attractive due to its physics-based upwinding strategy that can handle counter-current flow settings and avoids phase flip-flopping that can lead to convergence failures for Newton's method. It also results in bounded and smooth capillary fluxes even when the capillary pressure curves have asymptotes which has implications on both the efficiency and accuracy of the solution. However, IHU-C can suffer from higher numerical dispersion in some applications such as for sharp saturation gradients at steady-state due to the flux splitting it employs.
Finally, we present a detailed truncation error analysis that can support and explain the accuracy results observed in the test cases. Then, we conclude the report by suggestions to improve the accuracy further, implications on existing fracture models used in commercial simulators
, and potential extensions and future work.
Our main contributions include the use of an idealized but realistic numerical examples with high heterogeneity to compare the numerical schemes. We have shown the accuracy loss implications on commercial simulators in such settings in addition to the impact on efficiency and nonlinear performance. Furthermore, we support our accuracy results with a detailed truncation error analysis.