Massively parallel sector scale discrete fracture and matrix simulations

More Info
expand_more

Abstract

We have been able to solve a reservoir simulation problem which was previously thought of as intractable: We simulated multiphase displacement, including viscous, capillary, and gravitational forces, for highly resolved and geologically realistic models of naturally fractured reservoirs (NFR) at the sector, i.e. kilometre, scale with very reasonable runtime. This has been possible because we used massive parallelisation and hierarchical solvers in conjunction with a new discrete fracture and matrix modelling (DFM) technique that is based on mixed-dimensional unstructured hybrid-element discretisations. High-resolution DFM simulations are important to resolve the non-linear coupling of small scale capillary - viscous and large scale gravitational - viscous processes adequately for sector scale NFR. Cross-scale process coupling in NFR controls oil recovery and NFR often exhibit power-law fracture length distributions, i.e. they do not possess an REV, and highly permeable fractures can extend over the full hydrocarbon column height. As a consequence, emergent displacement patterns have been observed which are difficult to quantify using traditional means of upscaling. However, such patterns could now be used as benchmarks to reach a better consensus on the correctness of promising new upscaling techniques. The parallel DFM technologies presented here allow us to to obtain these results much more efficiently and hence explore the parameter space in greater detail. We observed a linear scaling behaviour for up to 64 processes and a significant decrease in runtime when applying our parallel DFM approach to three highly refined NFR simulations. These contain thousands of fractures, up to 5 million elements, and have local grid-refinements below 1 m for model dimensions between I and 10 kilometres. We achieved this excellent speedup because we reduced inter-processor communication by minimising the overlap between individual domains and decreased idle time of individual processors by distributing the number of unknowns equally among the processors.