Abstract
Abstract Standard solution strategies in reservoir simulators all rely on a global linearization and the solution of large (ill-conditioned) linear systems, particularly for fully implicit formulations. Such solves are expensive, and typically require significant interprocess communication when implemented on a distributed memory architecture. Modern nonlinear domain decomposition (NLDD) is based on adaptive alternation between local and global solves and has proved to be an effective way to reduce the number of global linear solves in serial mode. Herein, we discuss the extension of NLDD to a distributed setting, exemplified by the operational reservoir simulator OPM Flow. We discuss which parts are reused from the standard Newton solver and which modifications are required to deploy the methodology in a standard simulator. We apply our new methods to a series of open benchmark and real-life asset models. In serial, NLDD benefits significantly from using a Gauss–Seidel approach in which subdomains are solved in order of decreasing pressure. This strategy can only be applied effectively within each process in a distributed setting, but not between processes, which potentially poses a challenge to scalability. However, we observe excellent improvement in efficiency of the nonlinear solution phase also in parallel, in particular when slight adjustments are made in the choice of linear solver. Our implementations are freely available as open source, enabling readers to reproduce many of the examples on their own hardware and test the methods on their own models.