Permeability Upscaling Using the DUNE-Framework: Building Open-Source Software for the Oil Industry
MetadataShow full item record
In this thesis an open-source software for permeability upscaling is developed. The software is based on DUNE, an open-source C++ framework for finding numerical solutions of partial differential equations (PDEs). It provides functionality used in finite elements, finite volumes and finite differences methods. Permeability is a measure of the ability of a material to transmit fluids, and determines the flow characteristics in reservoir models. Permeability upscaling is a technique to include fine-scale variations of the permeability field in a coarse-scale reservoir model. The upscaling technique used in this thesis involves solving an elliptic partial differential equation. This is solved with mixed and hybrid finite element methods. The mixed method transforms the original second order PDE into a system of two linear equations. The great advantage with these methods compared with standard finite element methods is continuity of the variable of interest in the upscaling problem. The hybrid method was introduced for being able to solve larger problems. The resulting system of equations from the hybrid method can be transformed into a symmetric positive definite system, which again can be solved with efficient iterative methods. Efficiency of the implementation is important, and as for most implementations of PDE solvers, the computational time is dominated by solving a system of linear equations. In this implementation it is used an algebraic multigrid (AMG) preconditioner provided with DUNE. This is known to be efficient on system arising from elliptic PDEs. The efficiency of the AMG preconditioner is compared with other alternatives, and is superior to the others. On the largest problem investigated, the AMG based solver is almost three times faster than the next best alternative. The performance of the implementation based on DUNE is also compared with an existing implementation by Sintef. Sintef's implementation is based on a mimetic finite difference method, but on the grid type investigated in this thesis, the methods are equivalent. Sintef's implementation uses the proprietary SAMG solver developed by Fraunhofer SCAI to solve the linear system of equations. SAMG is 58% faster than DUNE's solver on a test case consisting of 322 200 unknowns. The scalability of SAMG seem to be better than DUNE's AMG as the problem size increases. However, a great advantage with DUNE's solver is 50% lower memory usage measured on a problem consisting of approx. 3 million unknowns. Another advantage is the licensing of the software. Both DUNE and the upscaling software developed in this thesis is GPL licensed which means that anyone is free to improve or adjust the software.