Abstract

Image-based modelling of porous media to study the transport and reaction processes has become an essential tool. The availability of increasingly large image datasets at high resolution creates a need to develop algorithms that can process massive size images at a low computational cost. This study presents an efficient workflow to extract pore networks from large size porous domains using a watershed segmentation with geometrical domain decomposition. The method subdivides a porous image into smaller overlapping subdomains and performs a watershed segmentation on each subdomain in parallel or serial modes of operation to save CPU time or memory RAM, respectively. The computational performance of the algorithm was analyzed on a large size image and found to consume 50 percent less memory and upto 7 times less CPU time than the standard watershed implementation. Pore networks of four massive digital rock images were extracted and the the effective permeability predicted by the networks agreed well with previously investigated values illustrating the accuracy of the method. An additional application of this method, taking advantage of the reduced computational cost, is the upgrading of low-resolution image. It was found that increasing the resolution of a coarse image leads to more accurate predictions by helping the watershed segmenation prouduce a more faithful pore network model. The developed algorithm is implemented in Python, and included in the open source project PoreSpy. It uses highly optimized and efficient modules such as Dask and Numba to obtain the maximum performance. The domain decomposition approach used here will also lend itself well to processing on distributed memory clusters, enabling the processing of even larger porous domains.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call