The 2014a release of MRST features
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 people constitutes the 2014a release of MRST
Primary release manager for MRST 2014a: Bård Skaflestad.
Core (module system)
The module system has been completely rewritten for MRST 2014a. This release splits the system in two parts. The new facility mrstPath is a registry that maps module names to system paths whereas the responsibility of the existing function mrstModule becomes solely to activate and deactivate modules and to manipulate MATLAB's function search path.
This change allows greater user control of module locations and removes the distinction between "blessed" modules distributed as part of MRST (located in the 'modules' directory) and user or third-party modules. The release package still locates official MRST modules in the 'modules' directory but the new module system encourages independent module development.
There is a downside to the reorganisation and users need to be aware of this fact. As function mrstModule now uses mrstPath as its only source of module mappings, one cannot activate a module (say, the diagnostics module) without first establishing a path mapping for that module. If no mapping exists in mrstPath, then function mrstModule produces an error message of the form
>> mrstModule add diagnostics
No module mapping found for
and fails to load the module.
There is a short tutorial on the behaviour and use of the new module system at the end of this document.
Core (ADI class)
Core (example grids)
Pinch layers of negative thickness in makeModel3. Thanks to: Jostein Natvig
Core (TPFA-based solvers)
Add experimental support for non-neighbouring connections.
Rewrite function computeTimeOfFlight to transparently handle single- and two-phase flow problems. In earlier release, the function would scale source terms with the injected (water) saturation which produced wrong results in the single-phase case.
Fully Implicit Solvers based on Automatic Differentiation (ad-fi)
CO2 Laboratory (co2lab)
A module that was previously distributed as a separate package has been integrated into MRST. In doing so, the layout has been completely reorganised into packages for analysing trapping structures and doing simulations in the vertical equilibrium framework.
Agglomeration/Amalgamation module (agglom)
Split refinement function refineSuccessivePart into two functions, applySuccessivePart and refineRecursivePart.
Deck input support module (deckformat)
Coarse grids (coarsegrid)
Multiscale finite volume ('msfvm')
Add examples to demonstrate use of the method
Fix a programming error resulting from failure to check the return value of function fopen. Thanks to: Andreas Olsen.
New function plotGridBarchart plots bar-charts on top of grids.
mrstModule add gridtools
The mrstPath function maintains a mapping from module names to system paths. The paths are expected to be full paths to existing directories on the local computer system. Module names can be arbitrary strings, but are typically single words consisting of alphanumeric characters.
Function mrstPath supports three different, though related, modes of operation. The first mode establishes new module mappings. This mode is intended for end-users of MRST. The second mode manipulates the current module mapping list. The third mode is primarily intended for MRST itself. This is the query mode that is used by function mrstModule during mrstModule add to manipulate MATLAB's search path. End users will typically use the third mode to inspect the current list of module mappings.
mrstPath register AGMG S:\mrst\modules\3rdparty\agmg
mrstModule add AGMG
mrstPath addroot /repo/mrst/model-IO
mrstPath register ...
deckformat /repo/mrst/model-IO/deckformat ...
libgeometry /repo/mrst/model-IO/libgeometry ...
mrst_api /repo/mrst/model-IO/mrst_api ...
spe10 /repo/mrst/model-IO/spe10 ...
fullfile(mrstPath('ad-fi'), 'data', 'spe1.data')
Published May 13, 2014