• Researcher: Thomas Roy
  • Academic Supervisor: Andrew Wathen
  • Industrial Supervisors: Tom Jönsthövel, Chris Aselmann-Lemon, Dayal Gunasekera

Background

The use of reservoir simulation models in the oil and gas industry is essential to the development of new oil fields and in generating production forecasts for existing oil fields. Reservoir simulators solve mathematical models for the flow of fluids (typically oil, water and gas) through porous media. The complexity of such models, and the time each simulation takes motivates the need for highly efficient solvers. The repeated solution of large sets of linearised algebraic equations remains the most time-consuming part of most reservoir simulation studies.

Figure 1: Diagram of an oil reservoir [from Learning Geology].

For practical reasons, iterative rather than direct linear solvers are necessary for such complex problems. A crucial part of the effective solution of the linear systems is the choice of preconditioners. These are transformations that one applies to a linear system in order to make it easier to solve by iterative methods.

The flow of fluids through porous media are described by Darcy’s Law, which states that the velocity of the fluid is proportional to the pressure gradient. In multiphase flow, the presence of different fluids and hydrocarbons are described by saturation variables. The global nature of the pressure variable requires a more precise global preconditioning than saturation variables for which local preconditioning is sufficient. This justifies the use of two-stage preconditioners where we first solve for the pressure approximately (using Algebraic Multigrid for example), and then solve the full system (using ILU(0) for example). This preconditioner is known as constrained pressure residual (CPR).

Earlier reservoir models are all isothermal in that temperature is taken as constant. These were sufficiently realistic since variations of temperature are relatively small for traditional extraction methods. With the advent of enhanced oil recovery techniques such as steam injection, understanding the effect of temperature changes becomes crucial.

The CPR preconditioner is capable of solving linear systems from thermal simulations, but was not designed with this in mind. Hence, CPR is not as efficient in this setting as it is for isothermal models, and ILU(1) is needed to achieve reasonable performance. The goal of this project has been to design an even more efficient variant of CPR tailored for thermal simulation. Robustness and parallel scalability are two key drivers.

Outcomes

The addition of an energy conservation equation introduces cases where the pressure preconditioner fails to fully capture the behaviour of the flow. Indeed, in thermal simulations, temperature also has a large influence over the flow and should be treated differently from the saturation variables . We are interested in developing preconditioners which consider the effect that temperature has on fluid flow and heat flow.

In order to study the effects of both pressure and temperature on fluid and heat flow, we first consider a model of non-isothermal single phase flow through porous media. By focusing on single phase flow, we are able to isolate the properties of the pressure-temperature subsystem.

Our studied system is nonlinear since both the density and viscosity of the fluid are functions of pressure and temperature. The fluid velocity depends on viscosity and so it is coupled with temperature. Additionally, the heat flow depends both on convection (and so pressure dependent) and diffusion (or conduction). This cross-coupling must be considered when preconditioning. We consider new preconditioning strategies which include variants of Algebraic Multigrid.

The single-phase problem requires the solution a linearised system for pressure and temperature which can be written as a 2x2 block system. For the pressure-temperature system, we develop a block preconditioner for which we need an efficient Schur complement approximation. The Schur complement appears when factorising the system matrix as a product of block matrices. The blocks represent the different physics or equations involved. Approximating the Schur complement is needed to maintain the sparsity of the preconditioning operator for a fast solution.

For our approximation, we considered the similarities between the convective terms of the mass and energy equations to argue that some differential operators in the Schur complement can cancel under reasonable assumptions. In the end, our Schur complement approximation is the temperature block without the terms resulting from linearisation. The resulting block preconditioner provides a treatment of the temperature block using an Algebraic Multigrid method. This results in the preconditioner capturing the heat diffusion appropriately. Since it does not rely on ILU, our block preconditioner performs better than CPR under mesh refinement and parallelisation. See [1] for more details.

In [2], we extended the preconditioner developed for the pressure-temperature subsystem in the single-phase case to the multiphase case as a CPR-like multi-stage preconditioner. We call it a constrained pressure-temperature residual method (CPTR). Even if it uses ILU in its second stage, CPTR exhibits good scalability under mesh refinement and parallelisation compared to CPR.

Lay report

Publications

[1] T. Roy, T. B. Jönsthövel, C. Lemon, A. J. Wathen, A block preconditioner for non-isothermal flow in porous media, Journal of Computational Physics 395 (2019) 636–652.

[2] T. Roy, T. B. Jönsthövel, C. Lemon, A. J. Wathen, A constrained pressure-temperature residual (CPTR) method for non-isothermal multiphase flow in porous media. Submitted for publication.

Please contact us with feedback and comments about this page. Last updated on 03 Jul 2023 15:43.