REV Porosity¶
A representative elementary volume (REV) is the smallest piece of a material whose properties no longer depend on exactly where it was cut.1 Below it, every region gives a different answer. Above it, they all agree. This analysis measures the porosity of a thousand randomly placed cubes of different sizes, so you can see whether the image, and the simulations you run on it, are large enough to be representative.
- Solves porosity of 1000 random cubic sub-volumes
- Backend PoreSpy, on CPU
- Reports porosity against region volume, and the porosity of the largest regions
- How to run it REV Porosity in the User guide
The problem being solved¶
For a cubic region of side \(s\) voxels cut from the image, the region's porosity is \(\varphi = N_p/s^3\), where \(N_p\) is the number of pore voxels in the cube. The analysis returns \(\varphi\) against the cube's volume for many cubes of different sizes and positions; the REV for porosity is the size above which \(\varphi\) stops depending on where the cube was cut.
The method¶
PoreSpy's REV porosity2 draws 1000 cubic regions at random. Each one gets:
- a side length \(s\) drawn uniformly from the integers between 10 and \(\min(100, N_\text{min})\) voxels, where \(N_\text{min}\) is the image's shortest side;
- a position drawn uniformly from the positions where a cube of that side fits.
For each cube, PoreStore records its volume \(s^3\) and its porosity \(\varphi\). The headline, the porosity of the largest regions, is the mean \(\varphi\) of the largest 10% of cubes. The number of cubes and the size range are fixed.
Volumes are computed in voxels and shown in µm³ once the image has a voxel size \(h\), multiplied by \(h^3\). See Units and voxel size.
Reading the result¶
- Find where the funnel closes. Choose a tolerance, such as ±0.01 in porosity. The REV is the smallest size whose scatter stays inside it.
- If it never closes, the whole image is below the REV for porosity. Results from it describe that sample, not the material.
- Transport needs more. The REV for permeability or tortuosity is usually larger than for porosity, because flow depends on connected paths, not just pore volume. Treat the porosity REV as a lower bound when you size a flow simulation.
- Cube sizes stop at 100 voxels, so on large images the funnel shows only the small-scale end.
Not reproducible run to run
Cube positions and sizes are random and not seeded, so two runs on the same image give different scatter with the same statistics. The headline is stable to within its own scatter.
References¶
-
J. Bear, Dynamics of Fluids in Porous Media, American Elsevier (1972); reprinted by Dover (1988). ↩
-
J. T. Gostick et al., "PoreSpy: A Python toolkit for quantitative analysis of porous media images," Journal of Open Source Software 4 (2019) 1296. doi:10.21105/joss.01296 ↩