MRST - Transforming research on reservoir simulation

Release Notes for MRST 2013a

Introduction to MRST 2013a

MRST 2013a is a release with a mixture of improvements and new functionality. We especially highlight the following:

  • A new module for interactive plotting and several improvements to existing plotting routines
  • A new CO2 laboratory module (replacing the vertical-equil) module.
  • Improved ad-solvers
  • The DFM module has been updated with an implementation capable of using the multiscale finite volume module, courtesy of Tor Harald Sandve.

The new features have been extensively tested in-house—but discretion is advised when adopting the features in your own work-flows or research.
Please review the Upgrade Notes at the end of this document if you're upgrading from a previous edition of MRST.


Work by the following developers constitutes this release of MRST

  • Stein Krogstad
  • Knut-Andreas Lie
  • Olav Møyner
  • Halvor Møll Nilsen
  • Bård Skaflestad

The developers would also like to acknowledge the following persons for valuable contributions to this release of MRST:

  • Tor Harald Sandve

acted as primary release manager for MRST 2013a.

New developments in MRST 2013a

ad-fi module:

  • The treatment of wells has been rewritten with support for well limits. An experimental mode featuring local well iterations for improved convergence has been included, but it is disabled by default.
  • In the module provided with mrst-2012b, residual checks were only applied to the conservation equation for water.
  • The ad-fi solvers have improved support for regions.
  • The ad-fi module now has a initSimpleADIFluid which makes it easier to set up cases without writing input files. 
  • To ensure backwards compatibility, solvers using tilde notation to ignore function outputs no longer do so. This should allow the ad-solvers to run on MATLAB versions prior to R2009b.
  • Fully implicit solvers now have the option of using residual tolerance directly for checking convergence.

co2lab module:

The vertical-equil module has been replaced with the new CO2 laboratory module. This module contains methods for downloading and processing several publicly available datasets, such as the CO2 Atlas. Also present is interactive tools for visualizing structural traps based on topological information, as well as initiating vertically averaged simulations.

    mrstModule add co2lab


  • Several new visualization routines have been added, most of which are available from the plotToolbar function. plotToolbar is intended as a drop in-replacement for plotCellData and is capable of visualizing structs or arrays of structs containing cellwise scalar values, such as states from a simulation output. Features include dynamic histograms, slicing planes, filtering based on multiple field values as well as greatly improved plotting performance.
  • For users experiencing crashes with transparency and / or multi-monitor setups, an experimental function has been added in the form of setRenderFixes. The function should only be used if experiencing crashes. To improve stability on multi-monitor setups the ‘DefaultFigureRenderer’ property is set to ‘OpenGL’ and to avoid transparency crashes the ‘DrawMode’  property is set to fast.

To activate the mrst-gui module in MRST, enter

mrstModule add msrt-gui


  • An interactive viewer for flow diagnostics has been implemented. It can be called as interactiveDiagnostics and allows for interactive visualization of drainage/flooding regions, well connections and much more. See the example exampleInteractiveSAIGUP for an example of usage.

Bug fixes

  • simpleTimeOfFlight should be more robust with regards to small errors in the flux field for cells with very little flow.
  • Fixed a crash when trying to plot data on a single 2d cell using plotFaces.
  • Fixed a bug in plotCellData where in some rare cases the number of vertices was equal to the number of faces in the call to patch, resulting in a wrong interpretation of the data. The bug would manifest as plots with striped or oscillating patterns.
  • Fixed a bug in the ADI class where subsref output for several subsets would only return the first error, and not throw an error.
  • The class ADI had a bug where indexing using only the number 58 would return all values due to a missing type check. Thanks to Andres Codas for making us aware of this issue.

If you encounter a software issue using one of SINTEF Applied Mathematics' official modules, then please do not hesitate to contact the authors, for instance by sending an e-mail to .

Upgrade notes:

  • NPVBlackOil has had the parameter gasProductionCost changes to gasPrice.
  • The ADI class would, if given several sets of indices such as ind = {[1, 2, 3], [4, 5 ,6]}, ADI_instance(ind{:}) would return ADI_instance([1,2,3]). This is now an error.
  • The ADI class no longer has an implementation of size.

Published April 18, 2013