Image-Based Invasion Percolation Algorithm

Novel function added to porespy.filters

We have developed a novel image-based algorithm for simulating non-wetting fluid invasion into voxel images. This algorithm is described in the pre-print on

Our new algorithm differs from existing approaches because it mimics volume-controlled or rate-controlled injection. You may be familiar with the conventional morphological image opening (MIO) approach, which mimics pressure-controlled invasion. If you’ve ever used MIO, you have probably been frustrated with the fact that it results in large jumps in saturation between successive pressure steps. For instance, it is common for saturation to surge by 0.5 making it impossible to fully analyze fluid configurations and their impact at intermediate saturations. This is illustrated below:

On the left is an artificially generated 2D material (called blobs in PoreSpy), in the center is the result of applying MIO invasion from all four faces with the color indicating the radii of the capillary meniscus invading into each voxel/region…darker colors correspond to higher invasion pressures. On the right is a plot of non-wetting phase saturation vs the capillary meniscus (the simulation proceeds from right to left). The most notable point is the jump in saturation between 0.3 and 0.9 that occurs when the voxel radius is reduced from 10 to 9. Any attempt to study the impacts of the fluid configuration at saturations between 0.3 and 0.9 is not possible.

In other words, if you identify all voxels that can be invaded by a meniscus with a radius of 10 voxels you will get a saturation of ~30%, and if you then reduce the radius to 9 voxels you will find a saturation of ~90%. There is simply no way to get intermediate values from MIO.

This is a consequence of the shielding effect in porous media where a significant fraction of the void space is only accessible upon the breaching of some critical threshold (in the above case a radius of 9 voxels).

Our new algorithm is based on simple image processing tools rather than physics-based simulations like the lattice-Boltzmann method. The end result however is good approximation of quasi-static dynamic invasion. In the image shown below, each frame corresponds to an increase in saturation of 0.01, and the color of the invading fluid indicates the saturation of the domain that is obtained up until that point. In the image below trapping of the defending phase is not considered, but this can be optionallay included in algorithm.

This work was undertaken by the PMEAL team in collaboration with researchers from Queen Mary University London and TOTAL. This algorithm will be available in the next minor release of PoreSpy.