Skip to main content
Log in

Image-based simulations of absolute permeability with massively parallel pseudo-compressible stabilised finite element solver

  • Original Paper
  • Published:
Computational Geosciences Aims and scope Submit manuscript

Abstract

We apply an accurate parallel stabilised finite element method to solve for Navier-Stokes equations directly on a binarised three-dimensional rock image, obtained by micro-CT imaging. The proposed algorithm has several advantages. First, the linear equal-order finite element space for velocity and pressure is ideal for presenting the pixel images. Second, the algorithm is fully explicit and versatile for describing complex boundary conditions. Third, the fully explicit matrix–free finite element implementation is ideal for parallelism on high-performance computers, similar to lattice Boltzmann. In the last, the memory usage is low compared with lattice Boltzmann or implicit finite volume. We compute the permeability of a range of rock images. The stabilisation parameter may affect the velocity, and an optimal parameter is chosen from the numerical tests. The steady state results are comparable with lattice Boltzmann method and implicit finite volume. The transient behaviour of pseudo-compressible stabilised finite element and lattice Boltzmann method is very similar. Our analysis shows that the stabilised finite element is an accurate and efficient method with low memory cost for the image- based simulations of flow in the pore scale up to 1 billion voxels on 128-GB ram workstation and on distributed clusters.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Imperial College London: Pore Scale Modelling group: Micro-CT images and networks. http://www.imperial.ac.uk/earth-science/research/research-groups/perm/research/pore-scale-modelling/micro-ct-images-and-networks/ (2017)

  2. Akanji, L.T., Matthai, S.K.: Finite element-based characterization of pore-scale geometry and its impact on fluid flow. Transp. Porous Media 81(2), 241–259 (2010)

    Article  Google Scholar 

  3. Arns, C.H., Bauget, F., Limaye, A., Sakellariou, A., Senden, T., Sheppard, A., Sok, R.M., Pinczewski, V., Bakke, S., Berge, L.I., et al.: Pore scale characterization of carbonates using X-ray microtomography. SPE J. 10(04), 475–484 (2005)

    Article  Google Scholar 

  4. Badia, S., Codina, R.: Algebraic pressure segregation methods for the incompressible navier-Stokes equations. Arch. Comput. Meth. Eng. 15(3), 1–52 (2007)

    Article  Google Scholar 

  5. Blunt, M.J.: Multiphase Flow in Permeable Media: A Pore-scale Perspective. Cambridge University Press, Cambridge (2017)

    Book  Google Scholar 

  6. Donea, J., Huerta, A.: Finite Element Methods for Flow Problems. Wiley, Hoboken (2003)

    Book  Google Scholar 

  7. Dong, H., Blunt, M.J.: Pore-network extraction from micro-computerized-tomography images. Phys. Rev. E 80(3), 036307 (2009)

    Article  Google Scholar 

  8. Ergun, S.: Fluid flow through packed columns. Chem. Eng. Prog. 48, 89–94 (1952)

    Google Scholar 

  9. Ferrari, A., Lunati, I.: Direct numerical simulations of interface dynamics to link capillary pressure and total surface energy. Adv. Water Resour. 57, 19–31 (2013)

    Article  Google Scholar 

  10. Ghassemi, A., Pak, A.: Pore scale study of permeability and tortuosity for flow through particulate media using Lattice Boltzmann method. Int. J. Numer. Anal. Methods Geomech. 35(8), 886–901 (2011)

    Article  Google Scholar 

  11. Ginzburg, I.: Variably saturated flow described with the anisotropic lattice Boltzmann methods. Comput. Fluids 35(8-9), 831–848 (2006)

    Article  Google Scholar 

  12. Harvey, M.: Imperial College Research Computing Service. https://doi.org/10.14469/HPC/2232. https://data.hpc.imperial.ac.uk/resolve/?doi=2232 (2017)

  13. He, X., Doolen, G.D., Clark, T.: Comparison of the lattice Boltzmann method and the artificial compressibility method for navier–Stokes equations. J. Comput. Phys. 179(2), 439–451 (2002)

    Article  Google Scholar 

  14. Hughes, T.J., Franca, L.P., Balestra, M.: A new finite element formulation for computational fluid dynamics: V. Circumventing the babuška-Brezzi condition: a stable Petrov-Galerkin formulation of the Stokes problem accommodating equal-order interpolations. Comput. Methods Appl. Mech. Eng. 59(1), 85–99 (1986)

    Article  Google Scholar 

  15. Jettestuen, E., Helland, J.O., Prodanović, M.: A level set method for simulating capillary-controlled displacements at the pore scale with nonzero contact angles. Water Resour. Res. 49(8), 4645–4661 (2013)

    Article  Google Scholar 

  16. Keehm, Y., Mukerji, T., Nur, A.: Permeability prediction from thin sections: 3D reconstruction and lattice-Boltzmann flow simulation. Geophysical Research Letters 31(4) (2004)

  17. Lallemand, P., Luo, L.S.: Theory of the lattice Boltzmann method: Dispersion, dissipation, isotropy, galilean invariance, and stability. Phys. Rev. E. 61(6), 6546 (2000)

    Article  Google Scholar 

  18. Macdonald, I., El-Sayed, M., Mow, K., Dullien, F.: Flow through porous media-the ergun equation revisited. Ind. Eng. Chem. Fundam. 18(3), 199–208 (1979)

    Article  Google Scholar 

  19. Mostaghimi, P., Blunt, M.J., Bijeljic, B.: Computations of absolute permeability on micro-CT images. Math. Geosci. 45(1), 103–125 (2013)

    Article  Google Scholar 

  20. Nithiarasu, P.: An efficient artificial compressibility (AC) scheme based on the characteristic based split (CBS) method for incompressible flows. Int. J. Numer. Methods Eng. 56(13), 1815–1845 (2003)

    Article  Google Scholar 

  21. Phelan, F.R.Jr, Wise, G.: Analysis of transverse flow in aligned fibrous porous media. Compos. A: Appl. Sci. Manuf. 27(1), 25–34 (1996)

    Article  Google Scholar 

  22. Raeini, A.Q., Bijeljic, B., Blunt, M.J.: Generalized network modeling: Network extraction as a coarse-scale discretization of the void space of porous media. Phys. Rev. E 96(1), 013312 (2017)

    Article  Google Scholar 

  23. Raeini, A.Q., Blunt, M.J., Bijeljic, B.: Modelling two-phase flow in porous media at the pore scale using the volume-of-fluid method. J. Comput. Phys. 231(17), 5653–5668 (2012)

    Article  Google Scholar 

  24. Tamamidis, P., Zhang, G., Assanis, D.N.: Comparison of pressure-based and artificial compressibility methods for solving 3D steady incompressible viscous flows. J. Comput. Phys. 124(1), 1–13 (1996)

    Article  Google Scholar 

  25. Thauvin, F., Mohanty, K.: Network modeling of non-darcy flow through porous media. Transp. Porous Media 31(1), 19–37 (1998)

    Article  Google Scholar 

  26. Yang, J., Crawshaw, J., Boek, E.S.: Quantitative determination of molecular propagator distributions for solute transport in homogeneous and heterogeneous porous media using lattice Boltzmann simulations. Water Resour. Res. 49(12), 8531–8538 (2013)

    Article  Google Scholar 

  27. Yang, L., Badia, S., Codina, R.: A pseudo-compressible variational multiscale solver for turbulent incompressible flows. Comput. Mech. 58(6), 1051–1069 (2016)

    Article  Google Scholar 

Download references

Funding

Liang Yang received financial support from EPSRC grant EP/P013198/1 and Imperial College Research Computing Service [12].

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jianhui Yang.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix: The single phase lattice Boltzmann method

Appendix: The single phase lattice Boltzmann method

We use the multi-relaxation-time scheme D3Q19 lattice Boltzmann method for Stokes flow calculation [17]. D3 represents space dimension and Q19 indicates the number of discretised microscopic velocities.

The LBM equation is:

$$ f_{i}(t+{\Delta} t, x+e_{i}{\Delta} t)=f_{i}(t,x) + {\Omega}_{i},\quad i = 0,...,18, $$
(14)

where ei is the discretised microscopic velocities:

$$ e_{i} = \left\{ \begin{array}{cccccccccccccccccccc} 0 & c & -c & 0 & 0 & 0 & 0 & c & -c & c & -c & c & -c & c & -c & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & c & -c & 0 & 0 & c & -c & -c & c & 0 & 0 & 0 & 0 & c & -c & c &-c\\ 0 & 0 & 0 & 0 & 0 & c & -c & 0 & 0 & 0 & 0 & c & -c & -c & c & c & -c & -c & c \end{array} \right\} $$
(15)

fi are mass fractions and ei are discretised micro velocities. The collision operator for MRT model :

$$ {\Omega}=M^{-1}S((Mf)-m^{eq}) $$
(16)

Mij is the transformation matrix defined as:

$$ M= \left[ \begin{array}{cccccccccccccccccccc} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\ -1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\ 1 & -2 & -2 & -2 & -2 & -2 & -2 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\ 0 & 1 & -1 & 0 & 0 & 0 & 0 & 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1 & 0 & 0 & 0 & 0\\ 0 & -2 & 2 & 0 & 0 & 0 & 0 & 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 & -1 & 0 & 0 & 1 & -1 & -1 & 1 & 0 & 0 & 0 & 0 & 1 & -1 & 1 &-1\\ 0 & 0 & 0 & -2 & 2 & 0 & 0 & 1 & -1 & -1 & 1 & 0 & 0 & 0 & 0 & 1 & -1 & 1 & -1\\ 0 & 0 & 0 & 0 & 0 & 1 & -1 & 0 & 0 & 0 & 0 & 1 & -1 & -1 & 1 & 1 & -1 & -1 & 1\\ 0 & 0 & 0 & 0 & 0 & -2 & 2 & 0 & 0 & 0 & 0 & 1 & -1 & -1 & 1 & 1 & -1 & -1 & 1\\ 0 & 2 & 2 & -1 & -1 & -1 & -1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & -2 & -2 & -2 &-2\\ 0 & -2 & -2 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & -2 & -2 & -2 &-2\\ 0 & 0 & 0 & 1 & 1 & -1 & -1 & 1 & 1 & 1 & 1 & -1 & -1 & -1 & -1 & 0 & 0 & 0 &0\\ 0 & 0 & 0 & -1 & -1 & 1 & 1 & 1 & 1 & 1 & 1 & -1 & -1 & -1 & -1 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & -1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & -1 & -1\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & -1 & -1 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -1 & 1 & -1 & -1 & 1 & -1 & 1 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 1 & 1 & -1 & 0 & 0 & 0 & 0 & 1 & -1 & 1 &-1\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -1 & -1 & 1 & -1 & 1 & 1 & -1 \end{array} \right] $$
(17)

The equilibrium moments is calculated by meq = Mfeq. The collision matrix S is diagonal comprised of relaxation rates:

$$ \begin{array}{@{}rcl@{}} &&s_{1,1} = -s_{e},\\ &&s_{2,2} = -s_{\xi},\\ &&s_{4,4} = s_{6,6} = s_{8,8} = -s_{q},\\ &&s_{10,10}=s_{12,12}=-s_{\pi},\\ &&s_{9,9} = s_{11,11} = s_{13,13} = s_{14,14} = s_{15,15} = -s_{\nu},\\ &&s_{16,16}=s_{17,17}=s_{18,18}=-s_{m}. \end{array} $$
(18)

where sν is the relaxation rate and is defined by viscosity ν as:

$$ \frac{1}{s_{\nu}}=3\frac{\nu}{c^{2} {\Delta} t}+\frac{1}{2}. $$
(19)

c is a constant microscopic reference velocity and it is set as 1 in this work. For other relaxation rates, values suggested by [11] is used to achieve improved accuracy and stability:

$$ s_{e}=s_{\xi}=s_{\pi}=s_{\nu}, s_{q}=s_{m}=8\frac{2-s_{\nu}}{8-s_{\nu}}. $$
(20)

To save memory, the calculation is only performed on fluid nodes, and no memory is allocated for any solid node. MPI is used for code parallelisation. A unstructured graphs partition library ParMetis is used to optimise the geometry partition. ParMetis is a multilevel partitioning method, which is able to divide the geometry into partitions of which the mesh sizes and communication sizes between different domains are as homogeneous as possible.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yang, L., Yang, J., Boek, E. et al. Image-based simulations of absolute permeability with massively parallel pseudo-compressible stabilised finite element solver. Comput Geosci 23, 881–893 (2019). https://doi.org/10.1007/s10596-019-09837-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10596-019-09837-4

Keywords

Navigation