REE8: Local adaptive timestepping for multiphase flow in porous media
| Researcher: | Dr Hugh McNamara |
| Team Leader(s): | Dr Paul Dellar |
| Collaborators: | Dr Garf Bowen, Schlumberger |
Project completed March 31, 2011
Background
In enhanced oil recovery fluids are injected into the ground to increase the amount of extractable oil in a reservoir (see Figure 1), typically water or carbon dioxide. This field of reservoir engineering requires the efficient simulation of multi-phase fluid flow. As reservoir simulation is computationally expensive, finding efficient methods is a key area of research in the extraction of dwindling oil resources.
The researchers at the Oxford Centre for Collaborative Applied Mathematics (OCCAM) in conjunction with Schlumberger, developed and implemented a method that efficiently approximates the solution to the equations describing the fluid flow in reservoirs. The method’s efficiency comes from diverting computational resources from areas in the domain where the solution does not change rapidly to areas where it does change rapidly through an adaptive time sampling scheme.
Techniques and Challenges
In an oil reservoir, oil flows within a porous medium, such as sand and rock. Other fluids, like water and natural gas, are often flowing within and around the oil, creating a complicated interplay of pressures and movement that governs the flow of the fluids.
A mathematical model of fluid flow in an oil reservoir consists of equations describing the transfer of mass within the reservoir that are coupled to equations describing the pressure and state relationships of the fluids. Due to the complexity of the equations, these are typically studied numerically.
To compute the solution to the system of equations numerically, the spatial domain is broken into cells. Within each cell, the equations are sampled in time.
Apart from the long-range characteristics of the pressure variable, the changes in variables are highly localised due to the formation of fluid fronts and wells, so the solution changes rapidly in only a few cells. These cells necessitate small timesteps (many samples in time) to produce a good approximation to the solution. However, cells where the solution is not changing rapidly require only a few samples in time.
Because the changes are localised, in terms of computation, a way to increase efficiency is to allocate more computing resources to cells where the solution changes rapidly. The researchers on this project exploited this fact in their approach to simulation.
The algorithm is divided into two main components: the cascade portion, which determines the number of timesteps to use, and the non-linear solver which solves the system of equations. The algorithm alternates between the cascade step and the solver step until the number of local timesteps stabilises and the solver converges on a solution. The cascade portion of the algorithm visits each cell in flow order and finds approximations to the time evolution of the solution variables while holding the other cells constant. Specifically, a backwards Euler scheme is used on each cell, with local timesteps chosen so that the evolution of the solution variables is sampled efficiently.
The non-linear solver considers the entire time interval and couples the timesteps chosen by the cascade. A large system of non-linear equations is solved iteratively using Newton’s method in an ‘all-in-one’ approach, where all of the equations at the timesteps are solved simultaneously.
Results
The algorithm was tested in both one- and three-dimensions. Overall, the method shows good convergence and scaling properties.
The first one-dimensional case simulated was a front of water injected into an oil-filled volume. A space-time plot of saturation is shown on the left in Figure 2. The second one-dimensional case was a gravity-driven flow in which lighter oil displaces heavier water and its space-time plot of saturation is shown on the right in Figure 2. The red dots denote a time sample. The black lines denote the exact solution to the equations. For both one-dimensional test cases, it is shown that the number of timesteps used where the solution changes rapidly is much greater than where the solution does not change much and that the numerical solution is close to the exact solution. The three-dimensional test case simulated injecting gas into one corner of an oil-filled volume, with allowance made for some gas to dissolve in the oil. On a very small grid (10x10x3) the algorithm converged and had good agreement with an existing commercial simulator.
From the test cases, it was shown that the algorithm demonstrated intelligence in adaptively selecting time samples.

The Future
The project demonstrated that the locally adaptive method could reduce the total number of linear solve steps considerably, up to a factor of six in some cases, and the computational cost scales better with increased spatial resolution. Directions for future work include refining the cascade portion of the algorithm, with the possibility of using parallel computing remaining an option, and investigating the placement of time samples to enhance stability and performance in the all-at-once solver step.
Related Publications:
[11/09] McNamara H., Bower G., Dellar P.J.: A locally adaptive time-stepping algorithm for petroleum reservoir simulations
