Recent architectural advances in the computer industry have been focused to solve numerically intensive flows, such as in oil reservoirs, on several processors simultaneously. As a result of connecting these processors together, different computer architecturers have evolved: Shared-memory with a few processors, Distributed-memory with up to a few hundred processors and massively parallel with several thousand processors. Researchers in the oil industry have been developing efficient techniques to improve hydrocarbon recovery in reservoirs using these computers. In this work, a generic approach is developed to solve the large system of sparse linear equations that arises in reservoir simulation. This approach uses a combination of domain decomposition and multigrid techniques that results in efficient and robust algorithms for sequential computers with one processor as well as for parallel computers with few to several tens of processors. The efficiency and robustness of these methods is comparable with widely used sequential solvers for problems of practical interest which include implicit wells and faults. In parallel, these methods prove to be an order of magnitude faster on a 32-node iPSC/860 hypercube.
Numerical reservoir simulation is becoming very sophisticated with the rapidly advancing computer technology. A great deal of work has been done on building efficient vectorizable reservoir simulators and also efficient linear solvers have been developed to use the vector capabilities of Cray-type supercomputers. With the emergence of parallel computers in the last decade, there is a need for developing efficient techniques to exploit the various types of coarse, medium and fine grain parallelism offered by various types of parallel computer architectures available today. Distributed-memory parallel computers such as Intel hypercubes iPSC/2, iPSC/860, Intel Delta machine and Paragon TM XP/S (based on a two dimensional grid type architecture) appear to offer high performance at moderate cost for reservoir simulation applications. There is a need for the development of efficient linear solvers that reduce the overhead in these computer environments. The recursive nature of the linear system of equations makes this problem challenging. The solvers developed for these architectures should be robust and efficient both in serial and parallel.
Reservoir simulation has been the source for efficient direct and iterative methods for solving large system of sparse linear equations. A large amount of work has been done to reduce the required storage and work by reordering the unknowns in different ordering schemes compared to standard LU factorization. These schemes are based on reducing the envelope of matrices and solving the resulting equations by Gaussian elimination or a factorization algorithm that avoids operating on zeros.