Adjoint methods for multicomponent flow simulation

More Info
expand_more

Abstract

The focus of the present work is on efficient computation of gradients using adjoint methods. In contrast to finite-difference methods, where the number of forward simulations required to estimate the desired derivatives grows linearly with the number of control variables, adjoint techniques provide all the required derivatives of the objective function in a fraction of the computational time of one forward simulation run. However, from an implementation viewpoint they are significantly more involved than, for example, finite-difference methods. This is due to the fact that the computation of gradients through adjoints requires a deep understanding of the simulation code. While the discrete adjoint formulation is most commonly employed in the reservoir simulation community, little is known about the continuous adjoint formulation, which is usually preferred in aerodynamics. Both continuous and discrete adjoint formulations are discussed in this work, and implemented for a compositional reservoir simulator. They are applied to several optimization problems of practical interest and compared with respect to their efficiency and the quality of the gradients they provide. The computed gradients are then forwarded to standard optimization software packages to determine optimal well settings for maximizing any specified objective function, as the net present value.