History matching of oil and gas reservoirs can be accelerated by directly calculating the gradients of observed quantities (e.g., well pressure) with respect to the adjustable reservoir parameters(e. g., permeability). This leads to a set of linear equations which add a significant overhead to the full simulation run without gradients. Direct Gauss elimination solvers can be used to address this problem by performing the factorization of the matrix only once and then reusing the factored matrix for the solution of the multiple right hand sides. This is a limited technique, however. Experience has shown that problems with greater than few thousand cells may not be practical for direct solvers because of computation time and memory limitations.
This paper discusses the implementation of a multiple right hand side iterative linear equation solver (MRHS) for a system of adjoint equations to significantly enhance the performance of a gradient simulator. This was accomplished by saving the inverse of the preconditioning matrix M from the first gradient solution and utilizing it in subsequent solutions. Reduced System/ILU(0) was chosen for the gradient solution since this preconditioner is one of the more robust. In this way, the significant computation time required to calculate the preconditioner is only needed for the first gradient solution, while all subsequent gradient calculations take only a fraction of the CPU time of the first solution.
Numerical experiments were conducted on models of up to 10000 cells and the new MRHS iterative solver was compared with standard red-black line successive overrelaxation (RBLSOR) and Direct(D4) solvers. For the problems which could be compared, overall speedups with the new MRHS solver varied from a factor of 3–6 over other solvers while gain in storage was about factor of 6 over the direct solver.