Report

IO4 - course : Long term production optimization Focus on reservoir simulation-based techniques partially studied and developed at IO-center: – – – – Formulation of long-term (> 6 months) optimization problems Gradient-based methods and adjoint reservoir simulations Model reduction and upscaling for optimization Flow-based proxies for rapid optimization and visualization Strongly linked to the open-source simulation software MRST, and includes examples/scripts in Matlab. Course material can be tailored to participant background and desired duration. 1 IO4 - course : Long term production optimization Possible modules and dependencies Course modules developed through IO Formulation of optimization problems Reservoir modelling and simulation basics using MRST Focus on simulation-based optimization of recovery/NPV Adjoint-based techniques Simulator prototyping using automatic differentiation Formulation and derivation Implementing objectives Gradient-based optimization – Search directions and linesearch – Constraints Upscaling and model reduction Upscaled model tuning for optimization Flow diagnostics Using efficient flow-based proxies for optimization and visualization 2 Course 2 : Long term production optimization Modules contain three main ingredients: 1. Theory and mathematical formulations – emphasis on understanding rather than proofs 2. Implementation – using MRST 3. Examples – Code that can be run during course. + 3 Modules 1/5 : Reservoir modelling and simulation basics using MRST Quick overview of MRST / Getting started Grids and Petrophysical Parameters Mathematical models for single- and multiphase flow in porous media Discretization of equations Well models for reservoir simulation Examples 4 Modules 2/5 : Simulator prototyping using automatic differentiation (AD) Background on classes in Matlab MRST-AD: – – – – Basic functionality Discrete operators Recommendations for efficient implementations Complete example implementing a single phase solver Components of a complex reservoir simulator: – – – – model equations and discretization Wells and handling of well-equations linear- and non-linear solvers time-step control Adding new properties/equations to existing solvers AD-based implementations for adjoint simulations. function eq = F(xn, xn-1) if forward xn = initAD(xn) elseif reverse xn-1 = initAD(xn-1) end … 5 Modules 3/5 : Formulation of optimization problems Short module containing background/basics: Compact mathematical formulation of Long Term Reservoir Optimization (LTRO) problems Long – term objectives: – Recovery – NPV – Misfit Analysis of NPV for a simple example using MRST 6 Modules 4/5 : Adjoint-based techniques Derivation of discrete adjoint equations: – Background on constrained max/min, implicit functions and total derivatives – Discrete adjoint equations for time-dependent problems – Control-steps vs time-steps Optimization using adjoint-based gradients – – – – Objective implementation in MRST using automatic differentiation Problem scaling Line search: Wolfe conditions Search directions: steepest ascent vs quasi Newton (BFGS) Constraints – Handling of linear (input) constraints for steepest ascent and BFGS – Discussion of constraints typically present for a LTRO problem – Constraint handling in simulator vs optimizer 7 Modules 5/5 : Flow-based proxies, upscaling and model reduction for optimization loops Recent research on speeding up reservoir simulations in optimization loops in MRST: Flow-based proxies: Background on flow-diagnostics equations Visualization Flow diagnostics and derived quantities related to recovery and NPV Proxy-optimization Real-field example (NPVoptimization) Upscaling for optimization: Upscaling background Local vs global upscaling Transmissibility upscaling for optimization purposes Real-field example (NPVoptimization) 8