Open-source MATLAB implementation of consistent discretisations on complex grids
Peer reviewed, Journal article
MetadataVis full innførsel
Accurate geological modelling of features such as faults, fractures or erosion requires grids that are flexible with respect to geometry. Such grids generally contain polyhedral cells and complex grid-cell connectivities. The grid representation for polyhedral grids in turn affects the efficient implementation of numerical methods for subsurface flow simulations. It is well known that conventional two-point flux-approximation methods are only consistent for K-orthogonal grids and will, therefore, not converge in the general case. In recent years, there has been significant research into consistent and convergent methods, including mixed, multipoint and mimetic discretisation methods. Likewise, the so-called multiscale methods based upon hierarchically coarsened grids have received a lot of attention. The paper does not propose novel mathematical methods but instead presents an open-source Matlab® toolkit that can be used as an efficient test platform for (new) discretisation and solution methods in reservoir simulation. The aim of the toolkit is to support reproducible research and simplify the development, verification and validation and testing and comparison of new discretisation and solution methods on general unstructured grids, including in particular corner point and 2.5D PEBI grids. The toolkit consists of a set of data structures and routines for creating, manipulating and visualising petrophysical data, fluid models and (unstructured) grids, including support for industry standard input formats, as well as routines for computing single and multiphase (incompressible) flow.We review key features of the toolkit and discuss a generic mimetic formulation that includes many known discretisation methods, including both the standard two-point method as well as consistent and convergent multipoint and mimetic methods. Apart from the core routines and data structures, the toolkit contains addon modules that implement more advanced solvers and functionality. Herein, we show examples of multiscale methods and adjoint methods for use in optimisation of rates and placement of wells.