The runtime of a simulator can be broken down into three distinct aspects:
- The number of time steps used to advance the solution from its initial state and to the end of the simulation horizon. A robust time-stepping strategy is particularly important in prediction mode, which has less constraints/more freedom than the history-matching mode.
- The number of iterations required in each timestep to reach the prescribed accuracy/tolerance.Global methods, like standard Newton, use the same number of iterations in all cells. By localizing the iteration control in the nonlinear solver to subdomains or individual cells, one can focus iterations where needed and thus reduce the average iteration count per cell.
- The cost of the linearized solve associated with each iteration, which in turn depends on the number of cells updated, the discretization scheme, type of linear solver and preconditioning strategy, error tolerances, etc.
Efficiency and robustness depend on all these factors and aspects.
- Over the years, various reservoir simulation methods have been developed, including fully implicit, sequential implicit, and implicit-explicit approaches. This project focuses on integrating and optimizing these techniques, enabling seamless strategy transitions. We will research robust parameters, develop adaptive strategies, and dynamically adjust simulation methods and settings to optimize performance as the simulation progresses.
- Continue the development of nonlinear domain decomposition preconditioning both as an accelerator for fully implicit and adaptive implicit methods. We will also look into methods that, for a given time step, adapt the use of fully implicit, adaptive implicit, and sequential solution strategies locally in space and time and throughout the (local) iteration process.
- Validation and testing will be performed in the open-source JutulDarcy and OPM Flow simulators.