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
IO4 - course : Long term production optimization
Possible modules and dependencies
Course modules developed through IO
Formulation of optimization
Reservoir modelling
and simulation
basics using MRST
Focus on simulation-based
optimization of recovery/NPV
Adjoint-based techniques
Simulator prototyping
using automatic
Formulation and derivation
Implementing objectives
Gradient-based optimization
– Search directions and linesearch
– Constraints
Upscaling and model
Upscaled model tuning
for optimization
Flow diagnostics
Using efficient flow-based
proxies for optimization
and visualization
Course 2 : Long term production optimization
Modules contain three main
1. Theory and mathematical
formulations – emphasis on
understanding rather than
2. Implementation – using MRST
3. Examples – Code that can be
run during course.
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
Modules 2/5 : Simulator prototyping using automatic differentiation (AD)
 Background on classes in Matlab
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
 AD-based implementations for adjoint
function eq = F(xn, xn-1)
if forward
xn = initAD(xn)
elseif reverse
xn-1 = initAD(xn-1)
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
– Misfit
 Analysis of NPV for a simple example
using MRST
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
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
 Visualization
 Flow diagnostics and derived
quantities related to recovery and
 Proxy-optimization
 Real-field example (NPVoptimization)
Upscaling for optimization:
 Upscaling background
 Local vs global upscaling
 Transmissibility upscaling for
optimization purposes
 Real-field example (NPVoptimization)

similar documents