mrst-adblackoil-gcs [GitHub] 9/20/2023

Provides examples and advanced functionality for 3D simulation of geologic CO2 storage in saline aquifers using the ad-blackoil module of the Matlab Reservoir Simulation Toolbox (MRST). As of 04/25/2024, this code has been integrated into MRST (co2lab-mit module available with mrst-2024a or later).

Calculation of PVT properties: thermodynamic formulation following Hassanzadeh et al., IJGGC (2008). Includes functions, validation and example.

Relative permeability hysteresis: calculation of trapped gas saturation and bounding imbibition curve using Land’s SPE J (1968) model, implementation of Killough's SPE J (1974) model as in ECLIPSE for scanning curves. Includes the hysteresis class and an example which uses the PUNQ model and compares the result with that of ECLIPSE (see figure below).

Molecular diffusion (includes the diffusion class and an example inspired by work on the FluidFlower).

CO2 saturation at the top of the reservoir after CO2 injection and migration. Top row results are from Juanes et al., WRR (2006), bottom results obtained with this implementation in MRST.

Effect of increasing the diffusivity on convective finger width. This phenomenon occurs because a liquid solution of CO2 and water is denser than pure water, so the mixture sinks to the bottom of the aquifer.

PREDICT: PeRmEability DIstributions of Clay-smeared faulTs [GitHub] 9/22/2022

Computes upscaled fault permeability distributions using a parameter-based, probabilistic description of clay and sand smears. Written in MATLAB.

Generates multiple realizations of the fault core materials in shallow (depth < ~3km), poorly-lithified siliciclastic sequences, using a high-resolution grid (fine grid). The computation of fault permeability is performed in a given throw window, and the code can be run in 2D or 3D.

Outputs the directional components of the fault permeability tensor (dip-normal, kxx; strike-parallel, kyy; and dip-parallel, kzz) in an upscaling (coarse) grid defined by the user (3D version). For example, this flexibility is useful to assign fault permeability in subsequent flow simulation models.

The fault permeability is obtained via flow-based upscaling of the fine grid permeability. PREDICT uses MRST to perform permeability upscaling (finite volume method)

Incorporates uncertainty in the geological variables that control the fault material distribution and their properties. Therefore, the output permeability is given as a set of probability distributions.

Mostly vectorized where possible and can be run in parallel using MATLAB's parfor, so it is fast and scales well with the number of computing cores available.

Convergence of output probability distributions vs number of realizations performed, for five different example sequences (A to E). N = 1000 realizations are enough.

Computing times for an example sequence vs cores available

Example of output probability distributions of fault permeability for each directional component, and their correlation.