1 Introduction

The experimental characterization of the hydraulical properties of porous materials could be expensive and a time-consuming process. For high porous materials like metal foams, viscous drag forces are small, and therefore, pressure drop is low. In experimental investigations this results in an experimental challenge as even large fluid fluxes combined with low-pressure gradients are complex to measure with appropriate signal-to-noise ratio. For low porous materials, the experimental challenge is opposite: pressure gradients can be even high, but still fluid fluxes are small and complicated to measure accurately. Because of these demands but also motivated by additional causes, numerical approaches for calculating effective permeability based on porescale computational fluid dynamics (CFDs) are more and more applied in industry and science [1]. Numerically calculating permeability presents several advantages: (a) only one (digitized) material sample is needed for the calculation of numerous physical properties (elastic moduli, hydraulic properties, thermal properties, etc.), (b) microtomographic imaging takes relatively short time and (c) environmental variables that in real experiments are often difficult to maintain are controllable. In this investigation we focus on the numerical calculation of intrinsic permeability as discussed, e.g. in [2]. For the sake of brevity, we shall use permeability to mean intrinsic permeability.

Permeability is a critically relevant property affecting flow through porous media, and it is strongly dependent on the morphology of the porous material. In order to sample the medium some authors use industrial computer tomography (CT) scans [3]. In other cases the media geometry is generated artificially [4]. In the present investigation we work with both kinds of geometrical models. Our artificial geometry is generated as a voxel-based image setup on a Cartesian grid, therefore emulating the CT scan format. One of the main difficulties in the field of calculating effective properties of porous media from microstructural information is the simulation of domains which have to be large enough to be representative for the material. Several authors have proposed to divide the domain and calculate the effective property as the average of the results obtained in the subdomains. The averaging method arises problems because the obtained results depend on the domain size, the chosen subdomains and the boundary conditions which have to be applied in general to such non-periodic (sub)domains. In this contribution we propose a method that allows to calculate large domains, avoiding variations in the estimated permeability because of the domain size.

In a recent contribution of Gerbaux et al. [5] experimental and X-ray microtomography-based numerical permeability investigations have been performed for high porous open-cell metallic foams with porosities larger than 90 %. The numerical calculations are performed with a lattice Boltzmann and a finite-volume solver. This work combines microtomography-based geometric modelling with numerical solution techniques of transport equations to estimate volume-averaged foam permeability. The authors report that the numerically estimated intrinsic permeability varies with the chosen size of the calculation domain. This implies that the chosen domain seems to be not large enough to be representative for such high porous materials like open-cell foams. Solving the Stokes equation for \(2\times 10^6\) elementary cubes took 66 min. Wiegmann [6] proposes a solver for Stokes flow called FFF-Stokes, where shorter simulation times are achieved by employing artificial forces. The permeability is then calculated from the simulation results. The simulation of a domain of \(240^3\) voxels took about 17 min.

Xu et al. [7] performed finite volume-based calculations for generic open-cell foams based on the tetrakaidecahedron structure of the microstructure of the foam. Their approach allows to analyse the effect of porosity on effective intrinsic permeability. Nevertheless, Xu et al. [7] have chosen very small periodic unit cells for their domain of calculation which minimizes calculation times, especially for higher Reynolds numbers. Boomsma et al. [8] discuss similar numerical investigations of fluid flow through periodic open-cell foam samples. It has to be pointed out that the methods presented in [7] and [8] were only tested with periodic open-cell foams with high porosity larger than 90 %.

In the contribution of Manwart et al. [9] typical reservoir sandstones have been numerically analysed. Again, X-ray microtomographs of a Fontainebleau sandstone with a porosity of around 13 % are the basis of flow simulations in order to calculate the effective intrinsic permeability. The authors apply finite difference and lattice Boltzmann methods to solve the Stokes equations in their investigations in domains up to \(400^3\) elements. Comparing the two numerical methods, the authors conclude that the finite difference method has a lower requirement of memory by a factor of 2.5. Furthermore, the permeability computed for the Fontainebleau sandstone is compared with estimated permeabilities of two stochastically generated porous domains with same porosity and specific surface area as the digitized sample of the Fontainebleau sandstone. According to the results of Manwart et al. [9], it is possible to conclude that for obtaining accurate results of permeability, it is necessary to handle the digitized model with care as the quality of the calculated effective permeability depends on the chosen size of the calculation domain, boundary conditions, numerical method and last but not least on the quality of the workflow including microtomography scan and image segmentation.

The mentioned aspects are carefully studied in a recent digital rock physics benchmark [10, 11]. Various groups compared their workflow of digital rock physics, i.e. X-ray imaging, digitizing the pore space and the solid matrix of the rock and numerically analysing effective material properties like permeability and elastic moduli. Andrä et al. [11] calculate effective properties of typical porous rock samples, e.g. Fontainebleau sandstone, Berea sandstone, carbonate and sphere packs, including effective intrinsic permeability. These hydraulic properties are calculated from segmented 3D X-ray microtomographes, applying lattice Boltzmann and explicit jump Stokes methods for simulation fluid flow through the pore space of the porous rock. It is worth to mention that the authors comment again that the size of the calculation domain has to be chosen carefully as the size causes variations in the calculation results.

Investigating X-ray microtomographes of reticulate porous ceramics, Petrasch et al. [12] determine hydraulical properties such as porosity and effective permeability applying finite-volume calculations. The proposed technique is applied to porous ceramics, but it can be applied in any porous structure that admits tomographic samples. It has to be pointed out that their numerical methods are grid based, and thus, a tetrahedral mesh has to be generated from the imaging data. Summarizing the results of the literature, it has to be pointed out that numerically calculated effective hydraulic properties like intrinsic permeability strongly depend, besides the overall framework of imaging and segmentation, on the size of the calculation domain. The requirement of a representative unit cell leads, especially for flow simulations in the pore space of porous materials, to the demand of efficient numerical techniques. Furthermore, a common shortcoming is that the numerical methods proposed by different authors are only tested in a narrow range of porosities. In response to the presented problems this article implements a numerical scheme to calculate effective permeability for sufficiently large and representative domains of diverse kind of materials with low and high porosity, i.e. from sandstone to high porous open-cell foams.

The proposed workflow starts from a voxel-based geometry obtained directly from the image segmentation of a CT scan. We calculate the effective permeability as follows: (a) setup of a boundary value problem, (b) parallel computing of Stokes flow based on a finite difference (FD) approach and (c) calculation of coarse-grained permeability from the velocity and pressure field calculated in the previous step. We prove our method with pervious and semipervious materials, in a range of porosities from 0.146 to 0.935.

2 Methodology

The aim of the present contribution is to present a workflow for an efficient numerical calculation of intrinsic permeabilities of low and high porous materials. Therefore, we choose representative examples of such porous media, like Fontainebleau sandstone \((\phi = 0.146)\), regularly and irregularly packed spheres and high porous man-made metal foam \((\phi = 0.935)\). Furthermore, we restrict ourselves on low Reynolds number flow, i.e. stationary flow processes on the porescale with \(Re = (\rho u_m\,L)/\eta \) leading to a creeping or Darcy-type flow process on the coarse-grained macroscopical scale.

The starting point of our numerical workflow is a segmented binary 3D voxel-based data set obtained, e.g., from X-ray synchrotron or desktop microtomography. A discussion about the important step from the reconstructed tomographic raw data to the binarized data set is out of the focus of the paper, details can be found in [10, 13, 14]. Based on the cartesian grid of the segmented and binarized voxel data, we perform a finite difference analysis of the stationary Stokes equations. The volume-averaged velocity and pressure fields numerically calculated are employed in Darcy’s law to estimate the permeability. The proposed workflow, cf. Fig. 1, is given as follows:

In step (1), the geometry, i.e. the domain of calculation, is preprocessed removing disconnected pores. In step (2) we setup the boundary value problem of the Stokes flow simulation. The related numerical problem is solved in step (3) resulting in a computation of the velocity and pressure field. In the postprocessing step (4) the calculation of effective permeability is performed. Steps (1)–(4) of the workflow are discussed now in further detail.

Fig. 1
figure 1

Workflow for intrinsic permeability calculation (different subdomains in geometry preprocessing and pressure field for visualization purposes)

2.1 Step (1): Preprocessing of the domain of calculation

In particular, in low porous materials, a certain number of domains present disconnected pores. Those pores do not affect the flow pattern of the connected pores. However, they have an influence on the volume-averaging process [step (4)] of the velocity field, cf. Sect. 2.4, and consume computing time. Therefore, they are first eliminated from the calculation domain before computation of the Stokes problem starts. These disconnected pores are indirectly identified by applying a seed region growth algorithm. Figure 2 shows such subdomain occurring in the data set of the Fontainebleau sandstone. The network of the connected pores is displayed in (light) pink colour, while the disconnected pores appear in blue colour. Around 6.6 % of the pore space consist of unconnected pores in the discussed example.

Fig. 2
figure 2

Geometry of the connected pore network (pink) and unconnected or isolated pores (blue) in a Fontainebleau sandstone. (Color figure online)

2.2 Step (2): Set-up of boundary value problem

We simulate Stokes flow of a stationary and incompressible fluid with \(Re \; \ll 1\) through a porous media. This is governed by the balance of momentum 1 and the continuity Eq. 2:

$$\begin{aligned} \text {grad} \, p= & {} \eta \, \text {div}\,\text {grad} \, \mathbf {u} \end{aligned}$$
(1)
$$\begin{aligned} \text {div}\, \mathbf {u}= & {} 0 \end{aligned}$$
(2)

Applying the divergence operator on both sides of Eq. 1 we obtain:

$$\begin{aligned} \text {div}\,\text {grad} \,p = 0 \end{aligned}$$
(3)

Supplemented by boundary conditions, Eq. 3 is the basis of our numerical scheme. To solve the velocity and pressure fields the boundary value problem is posed onto a digitized sample of the porous material as follows: the representative unit cell of the porous material is enclosed in a rectangular domain \({\varOmega }\subset \mathbb {R}^3\) with basis vector \(\mathbf {e}_x\), \(\mathbf {e}_y\) and \(\mathbf {e}_z\). The planes with coordinates \(x=0, x=L, y=0\) and \(y=L\) are closed walls, and no-slip boundary conditions are applied. Periodic boundary conditions are applied in the velocity field \((\mathbf {u}(z=0)=\mathbf {u}(z=L))\). The boundary conditions of the pressure field are defined by a constant function in the planes \(z=0\) and \(z=L \; (p(z=0)=p_0, p(z=L)=p_f\)). The pressure boundary conditions are related to a pressure gradient, similar to pressure boundary conditions applied in physical permeability experiments. Figure 3 shows the setup of the boundary value problem for the mentioned porous materials which are investigated in the present contribution. It is important to note that we need to mirror the domain at the plane \(z=L/2\) in order to apply periodic boundary conditions, cf. Fig. 3. This increases the degrees of freedom by a factor of two but allows well-defined periodic BCs.

Fig. 3
figure 3

Domain setup of porous media analysed. a Regularly packed spheres. b Fontainebleau stone. c Aluminium foam. d Irregularly packed spheres

2.3 Step (3): Computation of \(\mathbf {u}\) and p

The numerical solution scheme applied to Eqs. 1 and 3 is based on a regularly staggered grid technique, cf. [15], using a second-order finite difference method. Figure 4 shows a 2D example of the discretization for visualization purposes. Technical details of the (standard) discretization scheme are omitted here and can be found in the related literature, e.g. [15]. A regular Cartesian grid, i.e. a voxel-based grid, allows to use the geometry information directly from the tomographical data, avoiding (a) the loss of geometrical information and (b) reducing computational effort in the generation of complex geometrical representations such as triangulations or parametric surfaces. Furthermore, the resultant system of linear equations is solved by the iterative successive over-relaxation method SOR, cf.[16]. The SOR method converges for a relaxation factor of \(\omega \in [0,\,2]\), cf. details in [17]. In our simulations we elaborated that \(\omega =1.2\) is an optimal parameter to accelerate convergence.

Fig. 4
figure 4

Example in 2d of discretization of pressure and velocity field

Digitization of porous materials samples with the help of X-ray synchrotron or desktop scanning facilities produces massive quantities of imaging data. As one aim of our present contribution is to discuss a flexible framework for sufficiently large domains of calculation, we look to be able to compute extremely large domains avoiding memory problems. Therefore, we implement our own Stokes solver in a parallel computation environment. In the presented examples of the manuscript the solver run on a cluster of PCs (without demanding specifications) connected in parallel, but if desired, it can also be used on larger computing environments.

Given the problem-based advantage of using distributed memory, we parallelized the computation using MPICH2 (Message Passing Interface based on Chameleon portability system, cf. [18]). Therefore, the calculation domain was divided between the processes in a straightforward way. We split the domain with a family of equidistant planes, normal to the axis \(\mathbf {e}_z\), according to the number of cores which have to be used. Figure 5 shows an example of the domain division proposed for the parallelization of the code.

Fig. 5
figure 5

Example of domain division for parallelization. Voxels \(P_1, P_2\), ..., are processed in parallel. Voxels common among processes appear in grey colour

In parallel computation the communication among parallel processes represents a resources-consuming task. We minimize this communication expense by having each process to pass to the neighbouring one only a slice of the domain, cf. the grey voxels in Fig. 5. The communication operations were organized in a ring network as described in Rauber and Rünger [19]), where we can find a communication link between the first and last process. In Fig. 6a we show a \(\mathcal {O}(N)\) relation between the size of the domain, given in number of elements, and the calculation time (seconds) needed for each iteration. For a domain consisting of \(400^3\) voxels Fig. 6 shows how the time per iteration decreases as the number of processors increases. It has to be mentioned that the number of iterations needed for convergence is directly affected by the size of the domain and the porosity of the investigated material. The upper bound of the implemented SOR method is \(\mathcal {O}(N/p) \), where N is the number of elements, and p is the number of processors used in the numerical simulation.

Fig. 6
figure 6

Parallelization. a Time per iteration as a linear function of domain size. b Time per iteration as function of the number of processors used

2.4 Step (4): Postprocessing and calculation of effective permeability

From the velocity and pressure field calculated in the previous section, cf. 2.3, we calculate \(\Delta p\) (imposed boundary condition) and the volume-averaged velocity component in direction \(\mathbf {e}_z\)

$$\begin{aligned} u_m = \frac{1}{V_f}\,\int _{V_f} |u_z| \,\text {d}v. \end{aligned}$$
(4)

With the volume-averaged velocity, the intrinsic permeability of the porous material is calculated from Darcy’s law [20]

$$\begin{aligned} {k^s} = \frac{ \eta \,u_m}{\Delta p}. \end{aligned}$$
(5)

3 Results and discussion

Table 1 shows a summary of the obtained results for different materials with a large variety of porosities. A comparison between values from the literature and numerically obtained data calculated with the described technique demonstrates the reliability and accuracy of the method. Table 1 also shows the size of the calculation domain and the large range of porosities in which the proposed method was proved.

Table 1 Comparison of simulated materials and data from literature

The permeability of aluminium foam (Al foam) was calculated in two domains: (a) a domain consisting of \(400^3\) voxels with a porosity of \(\phi =0.935\) and (b) a domain of \(733\times 729\times 1400\) voxels with a porosity of \(\phi =0.929\), resulting in \(2.781\times 10^9\) DOFs. This domain is significantly larger than the one presented in the literature. Differences in the estimated effective intrinsic permeabilities are resulting from the slightly different porosities (\(\phi =0.929\) vs. \(\phi =0.935\)). Furthermore, it seems that the chosen domain (a) with \(400^3\) voxels is not representative, i.e. it is not a proper RVE for permeability calculations. The numerically calculated effective permeability is high with respect to the other analysed materials with lower porosities and in the range of the expected one, cf. Table 1. There is no literature or reference value of intrinsic permeability for this material. Figure 7 shows the rather straight streamlines of fluid flow through aluminium foam; especially for such high porous materials with high effective permeability physical permeability tests are complicated as very low-pressure drops have to be measured accurately [2325]. Numerical calculation could be an interesting alternative tool for such investigations.

Fig. 7
figure 7

Aluminium foam domain. Chosen computed streamlines

Flow through a capillary tube was analysed in order to discuss the discretization of the proposed method. Stokes flow was simulated through a capillary tube with ratio length/radius = 4. The estimated permeability, applying the proposed method, presents an error of 1.89 % in comparison with the analytical solution, cf. Eq. 6 presented in Carman’s classical work [21]. Figure 8 shows the parabolic profile of the velocity in direction of the \(\mathbf {e}_z\) axis for the simulated and analytical solution of a tube with radius \(r_t= 0.2 \, \hbox {m}\). The numerical results are shown in the Table 1.

$$\begin{aligned} {k^s} = \frac{\pi }{32}r_t^2. \end{aligned}$$
(6)
Fig. 8
figure 8

Profile of flow velocity in capillary tube. Comparison of Poiseuille equation with simulation with different discretizations

Furthermore, Table 1 shows the numerically calculated effective permeability for a regularly packed sphere array (FCC lattice: \(d_\mathrm{s} = 1 \; \hbox {mm}\)) with porosity of \(\phi =0.414\) versus the reference value of the permeability calculated with the model proposed by Rumpf and Gupte in [22], cf. Eq. 7 for spheres of a diameter of \(1 \; \hbox {mm}\). Figure 9 is showing the streamlines for the calculated velocity field.

$$\begin{aligned} {k^s} = \frac{\phi ^{5.5}}{5.6}d_\mathrm{s}^2. \end{aligned}$$
(7)
Fig. 9
figure 9

Regularly packed spheres domain. Chosen streamlines

For irregularly packed spheres we analysed the permeability for a porosity of \((\phi =0.343)\) which was investigated in Andrä et al. [11]. The comparison of our results with the benchmark values given by Andrä et al. shows a good accordance with the benchmark data. Figure 10 shows a subdomain of the non-regularly packed spheres; the top shows the magnitude of the velocity field, and the bottom is depicting the geometry of the domain. The calculated and reference values can be seen in Table 1.

Fig. 10
figure 10

Subdomain of irregularly packed spheres. Top magnitude of fluid velocity. Bottom geometry

To prove our method with a low porous material the permeability of the Fontainebleau sandstone, with porosity \(\phi =0.146\), is calculated and compared with the benchmark value in the Table 2 in [11]. Figure 11 shows a subdomain of the Fontainebleau sandstone, the magnitude of the calculated velocity field can be observed on the top, and in the bottom of the figure, the geometry can be observed. Again, Table 1 shows the calculated permeability and the reference values. We found in the calculated velocity field the existence of divergence in the connection between a pore and a pore throat, when the throat diameter is much smaller than the pore diameter, cf. Fig. 12. This kind of connection occurs mainly in materials with low porosities. In the simulations of the materials discussed in this contribution the applied global boundary conditions ensure a viscous regime in most areas of the calculation domain. In the described specific pore–pore throat connections of the Fontainebleau sandstone we found that inertial effects are dominant. Even with this aspect we are able to comment that the calculated value of effective permeability presents an acceptable error with respect to the reference value (factor of 5, in the same order of magnitude). We consider this to be an acceptable error, given that physical experiment results fluctuate in the same order of magnitude [26]. It seems to be that a stationary Stokes solver could also be applied for such kind of applications. Nevertheless, if higher accuracy is necessary, for low porous media we recommend to use a Navier–Stokes-based solver to improve the quality of the results and include inertia effects in coarse-grained effective permeability results.

Fig. 11
figure 11

Magnitude of fluid velocity in a subdomain of Fontainebleau stone. Bottom geometry

Fig. 12
figure 12

Divergence of velocity field in subdomain of Fontainebleau stone

4 Conclusions and future work

In the present contribution the effective intrinsic permeability of different types of porous materials was characterized by means of 3D voxel-based numerical simulations. Applications of such investigations could be found in the field of Digital Rock Physics or Digital Material Laboratory, cf. [13, 14]. Due to the characteristic microscopic properties of the variety of materials investigated in the present contribution, we analyse materials with porosities from \(\phi = 0.146\) to \(\phi =0.935\). The sharp changes in the pores sizes could cause local divergence in the velocity field. This could be observed more common in materials with lower porosity and was analysed in detail in the simulations of Fontainebleau sandstone. It should be noted that the local divergences are a source of numerical error in the calculation of effective permeability. In materials with higher permeabilities we have not observed such effects and obtained good agreement with values documented in the literature. Our simulation technique demands low computational resources, which allow to calculate large domains, i.e. large representative unit cells (RVEs) on inexpensive clusters of desktop computers connected in parallel. Future work includes the numerical characterization of further effective properties of porous materials such as tortuosity and the comparison of the proposed simulation method against other numerical approaches like lattice Boltzmann or smoothed particle hydrodynamics.