Preconditioning for Reservoir Simulation

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


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 (see Figure 1). 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 is to design an even more efficient variant of CPR tailored for thermal simulation. Robustness and parallel scalability are two key drivers.


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 simulation, 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.

Future Work

We will extend the preconditioners developed for the pressure-temperature subsystem in the single phase case to the multiphase case as a CPR-like multi-stage preconditioner. We may also extend decoupling strategies used in isothermal multiphase flow to the thermal case.