MRST - Transforming research on reservoir simulation

Release Notes for MRST 2022b

Highlights of MRST 2022b

The new release comes with some improvements in functionality and minor bug fixes. In particular we would like to highlight the following: 

  • New jutul module for the integration of MRST with Julia, see notes below for more details. 
  • New ad-scal module for simulating special core analysis experiments. 

New modules

jutul

The Jutul module links MRST to the free JutulDarcy reservoir simulator written in Julia. The module has several useful features: 

  • Write portable input files that can be run with JutulDarcy without a Matlab license 
  • Read the Jutul results back into MRST in the standard wellsol and state formats 
  • Link to a Jutul daemon running in the background to seamlessly accelerate simulations from within MRST 

Jutul, being similar in design to MRST-AD and written in Julia, is highly performant and can often speed up simulations by up to an order of magnitude. The following physics are supported: 

  • Immiscible and blackoil (disgas, no vapoil) models 
  • Compositional models 

JutulDarcy uses multisegment wells as the default and for this reason some differences can be observed against the default MRST solvers. For more details on JutulDarcy itself, see the GitHub repository: https://github.com/sintefmath/JutulDarcy.jl 

ad-scal

This module provides functionality to simulate SCAL (Special Core Analysis) experiments, namely drainage and imbibition steady-state, unsteady-state, and centrifuge experiments. Using this module: 

  • The SCAL experiments are designed before they are performed using forward simulations 
  • The relative permeability and capillary pressure saturation functions of the core plugs are calculated from the measured SCAL data using history matching simulations 

References: 

Amrollahinasab O., Azizmohammadi S., Ott H.: Simultaneous Interpretation of SCAL Data with Different Degrees of Freedom and Uncertainty Analysis (2022) - https://doi.org/10.1016/j.compgeo.2022.105074

GitHub Repository: https://github.com/SiroosAzizmohammadi/ad-scal

 

Changes to existing modules

ad-core

  • The adjoint code has been extended with functionality to compute full Jacobians for non-linear least square problems (only intended for small/medium sized models). This allows for more efficient calibration of (small) models. See optimization.  

ad-eor

  • Pressure and flux rate boundary condition support is implemented for generic surfactant polymer model. Other than wells, this provides some alternative ways to perform chemical flooding. An example of polymer flooding is presented to demonstrate the usage.  

optimization

  • Some of the examples on model calibration of CGNet-models/network-models have been extended to include Gauss-Newton-type minimization using the full Jacobian capabilities of the adjoint code. A version of the Levenberg-Marquardt algorithm has been introduced for this purpose (much more rapid convergence than quasi-Newton methods).  

geothermal

  • Simple group control for wells 
    • Groups of wells with common group rate targets 
    • Injection temperatures defined from production temperatures 
  • Support for implicit computation of well connection pressure drop 

Published September 30, 2022