Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

The flow of complex fluids and the dispersion of solids in multiphase fluids through porous media play a fundamental role in the current environment: in oil industry applications, in the pollution of soils and aquifers by industrial products, in the designing of remediation techniques for sites with mixed contamination, etc. In particular, fluids contaminated with hazardous particles and their mobility through a porous medium (soil) have important environmental implications due to the risk of ground water contamination. Specifically, radioactive contamination of the environment, including soils and water, is a relevant problem that has occurred in many parts of the world as a by-product of nuclear activities such as defense-related operations, power production, research, medical and industrial applications, among others. In order to evaluate and elaborate adequate strategies for controlling and remediating sites with this kind of contamination, the transport of solid and dissolved particles in multiphase fluids and their flow through porous media need be understood. With this aim, more realistic and accurate numerical models must be developed.

In order to reproduce real situations, these numerical models must not only include information concerning the geological structure as, for example, the complex structure of the solid matrix, consisting of different stratus with different geometries, the presence of fractures, and mobile or unstable boundaries originated due to dynamical changes caused by geochemical and biochemical processes, but also physico-chemical information (i.e., chemical reactions, adsorption–desorption processes, and changes in the thermodynamic characteristics of the medium).

In general, flow through saturated media has been modelled using Darcy’s law given by \(\mathbf{v } = -{k} \mathbf{i }\), where \({\mathbf {v}}\) is the velocity of the fluid, \({k}\) is the hydraulic conductivity, and \({\mathbf {i}}\) is the hydraulic gradient, which is related to the body force \({\mathbf {F}}\) and the gravitational acceleration \(g\) by \({\mathbf {i}} = {\mathbf {F}}/g\) (Zhu et al. 1999). However, this macroscopic approach does not consider the characteristics of the medium at the pore scale. In typical numerical models, the structure of the porous medium is mimicked by a distribution of solid particles and to reproduce the fundamental physics the models must involve changes in the flow and transport processes. Although Darcy’s law is statistically equivalent to the Navier-Stokes equations, it does not include this kind of information. For this reason, it is demanding to propose a more detailed approximation to model the flow through porous media.

As a first step to model the flow at the pore scale, we need to represent in detail the geometry of the solid matrix. Recent efforts to study pore-scale flow phenomena in porous media have been made using the method of Smoothed Particle Hydrodynamics (SPH) (Tartakovsky and Meakin 2006; Tartakovsky et al. 2007; Tartakovsky 2010), where at these scales the flow is assumed to be incompressible and at low Reynolds numbers. One advantage of SPH is that it is a mesh-free, Lagrangian method for solving the equations of fluid dynamics in which additional physics and irregular and/or mobile solid boundaries can easily be included. High spatial resolution seems to be an unavoidable requirement for any numerical method trying to solve the flow at the scale of the smallest pores. For example, the use of the new computational technologies available today, such as the GPU processors, allow for much higher spatial resolution at a much lower computational cost, making SPH to be a promising tool for simulating flow through porous media with sufficient detail. The method does not only allow for calculation of the fluid velocity and pressure distribution, but also for fluid particle path lines and discharge velocities (Gesteira et al. 2010), the former being related to a well-known and still unresolved problem called hydrodynamic dispersion in heterogeneous porous media (Allen 1985).

2 The SPH Method

As was outlined above, SPH is a gridless, Lagrangian method for solving the equations governing the motion of fluids. It essentially consists of two approximations: the integral and the particle approximation (Monaghan 1982, 1992, 2005; Benz 1990; Liu and Liu 2003).

In integral form any function \(A : {\mathbf {R}}^3 \rightarrow {\mathbf {R}}\) can be written as \(A({\mathbf {x}})=\int A({\mathbf {x}}') \delta ({\mathbf {x}}-{\mathbf {x}}') d^3{\mathbf {x}}'\), where \(\delta ({\mathbf {x}}-{\mathbf {x}}')\) is the Dirac delta function. In SPH, we approximate this exact integral to second-order by replacing the Dirac delta function by a kernel function \(W\) so that

$$\begin{aligned} A({\mathbf {x}})=\int _V A({\mathbf {x}}') W({\mathbf {x}}-{\mathbf {x}}') d^3{\mathbf {x}}' + O(h^2) , \end{aligned}$$
(1)

where \(W\) is an interpolating function of compact support, defined inside a sphere of radius \(h\), obeying the normalization condition: \(\int _{V(h)} W d^3{\mathbf {x}}'=1\), where \(V(h)\) is the spherical volume of influence of the kernel.

The particle approximation consists of replacing the continuous fluid by a set of particles, each having its own volume of influence \(\varDelta V\). In this way, the above integral can be approximated by a sum over all neighbouring particles so that

$$\begin{aligned} A({\mathbf {x}}) \approx \int _V A({\mathbf {x}}') W({\mathbf {x}}-{\mathbf {x}}') d^3{\mathbf {x}}' \approx \sum _{j=1}^N A({\mathbf {x}}_j) W({\mathbf {x}}-{\mathbf {x}}_j) \varDelta V_j , \end{aligned}$$
(2)

where the subscript \(j\) identifies all \(N\) particles inside the volume \(V\) centred at the field position \({\mathbf {x}}\).

For numerical work, the summation on the right-hand side of Eq. (2) can be rewritten as

$$\begin{aligned} A({\mathbf {x}}) = \sum _j \frac{m_j}{\rho _j} A_j W(|{\mathbf {x}} - {\mathbf {x}}_j|, h) , \end{aligned}$$
(3)

where \(m_j\) and \(\rho _j\) are, respectively, the mass and density of particle \(j\) and \(A_j=A({\mathbf {x}}_j)\) is the field value of \(A\) evaluated at the position of particle \(j\). Here \(\varDelta V_j\rightarrow m_j/\rho _j\), i.e., the inverse of the number density of particle \(j\) is assumed to be equal to the volume of fluid associated with it. In the following, we will write for simplicity \(W_{ij}=W(|{\mathbf {x}}_i - {\mathbf {x}}_j|, h)\), where the subscript \(i\) now refers to the position of particle \(i\), where the field must be evaluated.

The kernel function is a monotonically decreasing function of the distance between pairs of particles and behaves as a delta function as the smoothing length, \(h\), tends to zero. We refer the interested reader to Benz (1990), Monaghan (1992) and Liu and Liu (2003) for a detailed discussion on the kernel functions. Most existing numerical codes consider four possible kernel functions (Gesteira et al. 2010): the Gaussian kernel (Monaghan 1992), the cubic spline kernel, and the higher-order quartic and quintic spline kernels (Gesteira et al. 2010). In this work, we use the cubic spline kernel given by

$$\begin{aligned} W(r, h) = \alpha _D \left\{ \begin{array}{cll} 1-\frac{3}{2} q^2 + \frac{3}{4} q^3 &{} ; &{} 0 \le q < 1 \\ \frac{1}{4} (2 - q)^3 &{} ; &{} 1 \le q < 2 \\ 0 &{} ; &{} q \ge 2 , \end{array} \right. \end{aligned}$$
(4)

where \(\alpha _D = 10/(7\pi h^2)\) in two-dimensions (2D) and \(\alpha _D = 1/(\pi h^3)\) in three-dimensions (3D). We note that the tensile correction is automatically activated when using kernel functions with first derivatives that tend to zero with decreasing inter-particle spacing (Monaghan 2000).

Using Eq. (3), the density field at the position of particle \(i\) can be written in SPH notation as

$$\begin{aligned} \rho _i = \sum _j m_j W_{ij}, \end{aligned}$$
(5)

where, as we mentioned above, the sum includes only the nearest neighbours to particle \(i\). SPH expansions for the gradient and divergence of the fluid velocity vector, \({\mathbf {v}}({\mathbf {x}})\), are also required for the discretization of the Navier-Stokes equations. In particular, we adopt the commonly used expressions

$$\begin{aligned} \nabla {\mathbf {v}}({\mathbf {x}}) = \sum _j \frac{m_j}{\rho _j} {\mathbf {v}}_j \nabla W(|{\mathbf {x}} - {\mathbf {x}}_j|, h) , \end{aligned}$$
(6)

for the gradient and

$$\begin{aligned} \nabla \cdot {\mathbf {v}}({\mathbf {x}}) = \sum _j \frac{m_j}{\rho _j} {\mathbf {v}}_j \cdot \nabla W(|{\mathbf {x}} - {\mathbf {x}}_j|, h) . \end{aligned}$$
(7)

for the divergence of \({\mathbf {v}}({\mathbf {x}})\).

In the present formulation, we evolve the continuity equation rather than using the standard summation (5) for the density, which in discretized SPH form reads (Monaghan 1992):

$$\begin{aligned} \frac{d \rho _i}{d t} = \sum _j m_j {\mathbf {v}}_{ij} \cdot \nabla _i W_{ij} , \end{aligned}$$
(8)

where \(d/dt\) is the total derivative and \({\mathbf {v}}_{ij}={\mathbf {v}}_{i}-{\mathbf {v}}_{j}\), with \({\mathbf {v}}_{i}\) and \({\mathbf {v}}_{j}\) being the velocity vectors of particles \(i\) and \(j\), respectively. This form is better suited when dealing with fluids in the presence of solid boundaries. Moreover, instead of using Darcy’s law, we solve the momentum conservation equation

$$\begin{aligned} \frac{d {\mathbf {v}}}{d t} = -\frac{1}{\rho } \nabla P+ \mathbf {g} + {\varTheta } , \end{aligned}$$
(9)

where \(P\) is the pressure, \({\mathbf {g}}\) is the Earth gravitational acceleration, i.e., \({\mathbf {g}}=(0,0,-9.81)\) m/s\(^2\), and \(\varTheta \) accounts for the diffusion terms. Three different options for diffusion can be used: (1) an artificial viscosity, (2) a laminar viscosity, or (3) the full viscosity, i.e., laminar viscosity plus sub-particle scale turbulence. Here we use the artificial viscosity proposed by Monaghan (1992) and refer the reader to Gesteira et al. (2010) for a more detailed account on the choice of the diffusion term. In SPH notation, Eq. (9) can be written as

$$\begin{aligned} \frac{d {\mathbf {v}}_i}{d t} = - \sum _j m_j \left( \frac{P_j}{\rho _j^2} + \frac{P_i}{\rho _i^2} + \varPi _{ij} \right) \nabla _i W_{ij} + {\mathbf {g}} , \end{aligned}$$
(10)

where the fluid acceleration due to the pressure gradients has been approximated using the standard symmetrized SPH representation

$$\begin{aligned} \left( -\frac{1}{\rho } \nabla P \right) _i = - \sum _j m_j \left( \frac{P_j}{\rho _j^2} + \frac{P_i}{\rho _i^2} \right) \nabla _i W_{ij} , \end{aligned}$$
(11)

which leads to exact conservation of linear and angular momentum. The artificial viscous term, \(\varPi _{ij}\), in Eq. (10) is given by Monaghan (1992)

$$\begin{aligned} \varPi _{ij} = \left\{ \begin{array}{cll} -\frac{\alpha \overline{c}_{ij} \mu _{ij}}{\overline{\rho }_{ij}} &{} ; &{} {\mathbf {v}}_{ij} \cdot {\mathbf {x}}_{ij} < 0, \\ 0 &{} ; &{} {\mathbf {v}}_{ij} \cdot {\mathbf {x}}_{ij} > 0, \end{array} \right. \end{aligned}$$
(12)

where \(\mu _{ij}=h{\mathbf {v}}_{ij}\cdot {\mathbf {x}}_{ij}/({\mathbf {x}}_{ij}^2+\eta ^2)\), \({\mathbf {x}}_{ij}={\mathbf {x}}_{i}-{\mathbf {x}}_{j}\), \(\overline{c}_{ij}=(c_i+c_j)/2\) is the average sound speed between particles \(i\) and \(j\), \(\overline{\rho }_{ij}=(\rho _{i}+\rho _{j})/2\), and \(\alpha \) is a free parameter typically of order unity. The parameter \(\eta ^2\approx 0.01\) is added in the denominator of the definition of \(\mu _{ij}\) to prevent numerical singularities. Implicit in the form of Eq. (12) is that the viscosity is zero for particles moving away from each other and positive for particles approaching each other. This form of the artificial viscosity is Galilean invariant and so it allows SPH to perform well for slowly moving shocks. In addition, it vanishes under solid-body rotation, conserves total linear and angular momentum, and guarantees that the entropy change due to dissipation is positive definite.

The time rate of change of the specific internal energy, \(e\), is determined by the thermal energy equation, which is derived from the first law of thermodynamics: \(de=-Pd(1/\rho )+Tds\), where \(T\) is the temperature and \(ds\) is the change of specific entropy, which includes all non-adiabatic effects. The symmetrized standard representation (Monaghan 1994)

$$\begin{aligned} \frac{d e_i}{d t} = \frac{1}{2} \sum _j m_j \left( \frac{P_j}{\rho _j^2} + \frac{P_i}{\rho _i^2} + \varPi _{ij} \right) {\mathbf {v}}_{ij} \cdot \nabla _i W_{ij} , \end{aligned}$$
(13)

is employed to evolve the thermal energy of particle \(i\). This form is consistent with Eq. (10). Moreover, the position of particle \(i\) is determined by means of the equation (Monaghan 1989):

$$\begin{aligned} \frac{d {\mathbf {r}}_i}{d t} = {\mathbf {v}}_i + \varepsilon \sum _j \frac{m_j}{\overline{\rho }_{ij}} {\mathbf {v}}_{ij} W_{ij} , \end{aligned}$$
(14)

where \(\varepsilon =0.5\). This expression guarantees that each SPH particle moves with a velocity that is close to the average fluid velocity in its neighborhood. Finally, the above SPH equations are solved by specifying an equation of state for the pressure. Here we treat the fluid as weakly compressible and adjust the compressibility to slow down the speed of sound and maintain reasonable values of the time step, which is here determined using the Courant condition. The compressibility is limited by the fact that the sound speed should be about ten times faster than the maximum fluid velocity in order to keep variations of the density to within less than one percent. In order to do so we use the following equation of state (Monaghan and Kos 1999; Batchelor 2000):

$$\begin{aligned} P = B \left[ \left( \frac{\rho }{\rho _0} \right) ^\gamma - 1 \right] , \end{aligned}$$
(15)

where \(\gamma = 7\) and \(B = c_0^2 \rho _0 /\gamma \), with \(\rho _0 =\) 1,000 kg/m\(^3\) being the reference density and \(c_0 = c(\rho _0) \sqrt{(\partial P/ \partial \rho )} |_{\rho _0}\) the sound speed at the reference density. A more detailed account of the SPH method and its numerical implementation can be found in Liu and Liu (2003) and Gesteira et al. (2010).

3 Simulation Models

We study the flow of a fluid through saturated and non-saturated homogeneous porous media. To do so we first consider a column of fluid with density \(\rho _0\), which is introduced at the top of a regular 3D monolayer consisting of either a square or an hexagonal lattice of solid spherical particles as shown in Fig. 1. The solid spherical particles are assumed to remain static during the simulation. This configuration is then employed to represent the structure of our porous media.

Fig. 1
figure 1

Initial configuration for the saturated and non-saturated square (first two panels) and hexagonal arrays (last two panels) of particles. The fluid is shown in yellow

For all simulations the porosity is given by \(\theta = V_v /V_T = 0.8\), where \(V_v = V_T - n_s 4\pi r_0^{3}/3\) is the void volume and \(V_T = l_x l_y l_z\) is the total volume of the lattice representing the porous medium. This relationship fixes the radius \(r_0\) of the spheres as a function of the \(l_x\), \(l_y\), and \(l_z\) lattice dimensions and the number of spheres \(n_s\). For the square lattice we take \(n_s = 70\), \(l_x = 8.08\), \(l_y = 1\), and \(l_z = 11.6\), while for the hexagonal array we take \(n_s = 78\), \(l_x = 8.08\), \(l_y = 1\), and \(l_z = 12.3\). In order to facilitate comparisons with other simulations we employ dimensionless units by means of the following transformations: \(\rho _0 = \{\rho _0\}\) kg/m\(^{3} = 1\), \(r_0 = \{r_0\}\) m \(= 1\), and \(c_0 = \{c_0\}\) m/s \(= 1\), where \(\rho _0\) is the fluid density, \(r_0\) is the radius of the spheres, and \(c_0\) is the speed of sound. Here \(\{A\}\) represents the numerical value of quantity \(A\). Thus, the physical units of mass, length, and time are recovered by making kg \(=1/\{r_0\}^{3}\{\rho _0\}\), m \(= 1/\{r_0\}\), and s \( = \{c_0\}/\{r_0\}\).

We analyze two different cases. In the first case, we consider a saturated medium in which the fluid particles are distributed uniformly between the solid particles in the lattice, while in the second case a non-saturated medium is defined where no fluid particles are placed between the spherical particles (see Fig. 1).

For the saturated models we use \(n_f =\) 1,019,013 fluid particles for the square lattice and \(n_f =\) 919,217 for the hexagonal lattice, with a total number of \(n_p =\) 1,447,675 and \(n_p =\) 1,354,295 particles, respectively, while in the non-saturated models \(n_f =\) 663,520 fluid particles are used for the square array and \(n_f =\) 563,295 for the hexagonal lattice, with a total number of \(n_p =\) 1,092,182 and \(n_p =\) 998,758, respectively. In each case, the system is confined by four lateral solid walls: two coinciding with the \(xz\)-plane and two with the \(yz\)-plane. At the bottom of the porous medium (coinciding with the \(xy\)-plane), the liquid is allowed to flow freely (outlet boundary conditions). Fluid motion is started by applying a body force \(\mathbf{F } = g\mathbf{i }\) in the \(z\)-direction, where \(\mathbf{i }\) is the hydraulic gradient and \(g = 9.8\) m/s\(^{2}\) is the gravitational acceleration. This force is maintained constant during a simulation. A modified version of the Dual-SPHysics code (Gesteira et al. 2010) was employed and the simulations were carried out on GPU processors. Details of the evolution for the saturated model in a square lattice is shown in the amplified images of Fig. 2. Initially (left panel), the fluid particles are uniformly distributed in a regular grid and as the system evolves they become disordered (middle and right panels).

Fig. 2
figure 2

Amplified views of the saturated square system at three different times: \(t=0\) (left) and during the evolution (middle and right). The fluid is shown in yellow and the spherical solid particles are shown in red

4 Results

4.1 Saturated Case

A set of calculation models were carried out for a saturated medium for both the square and hexagonal lattices by varying the magnitude of the body force \({\mathbf {F}}\) in the \(z\)-direction. This was accomplished by varying the magnitude of the hydraulic gradient \(\mathbf{i }\) in the \(z\)-direction, with \(i_z=0.01\), 0.006, 0.005, 0.0025, and 0.00125 for the square lattice and \(i_z=0.04\), 0.02, 0.01, 0.005, and 0.0025 for the hexagonal array. For each run we calculate the discharge velocity \(v_z\) in an arbitrary point close to the centre of the porous medium. The discharge velocity field at three different times during the evolution is shown in Figs. 3 and 4 for the square and hexagonal systems, respectively.

Fig. 3
figure 3

Discharge velocity field at different times during the evolution of a saturated medium with a square array of solid spheres: \(t = 500\) (left), \(t =\) 2,000 (middle), and \(t =\) 3,400 (right). Times and velocities are given in dimensionless units

Fig. 4
figure 4

Discharge velocity field at different times during the evolution of a saturated medium with an hexagonal array of solid spheres: \(t = 500\) (left), \(t =\) 2,000 (middle), and \(t =\) 3,400 (right). Times and velocities are given in dimensionless units

Fig. 5
figure 5

Dimensionless discharge velocity as a function of time at an arbitrary point inside the porous matrix for varying magnitude of \(i_z\). Top: square array; bottom: hexagonal array. The straight lines mark the mean steady-state velocities for each run

Fig. 6
figure 6

Discharge velocity in the \(x\)- and \(z\)-direction for a saturated porous matrix represented by a square lattice of spherical solid particles when \(i_z = 0.005\). The inset boxes in the first and third plots enclose the temporal region where the velocity components become steady state. The second and fourth plots are amplifications of the inset boxes in the first and third plots, respectively. In all boxes the straight lines mark the mean steady-state velocity components \(v_{px}\) and \(v_{pz}\). All quantities are dimensionless

The evolution of the discharge velocities \(v_z\) at an arbitrary point in the porous matrix is plotted in Fig. 5 for all saturated models. We see that an approximate steady state is reached at different times depending on the magnitude of i. For both types of arrays, as the magnitude of \(i_z\) is decreased, the system takes longer to achieve a steady-state regime. In addition, Fig. 6 depicts the \(x\)- and \(z\)-components of the discharge velocity as a function of time for a saturated matrix composed of a square lattice of solid spheres for \(i_z=0.005\). The mean steady-state values of the velocity components are shown by the horizontal dashed lines. We see that both components reach a steady-state regime approximately at the same time as shown by the inset boxes in the first and third plots. The mean value of the steady-state velocity in the \(z\)-direction is larger than the corresponding value in the \(x\)-direction. This is expected because the main flow occurs along the \(z\)-axis where it is induced by gravity.

Fig. 7
figure 7

Linear dependence of the \(z\)-component of the mean discharge velocity in steady state on the hydraulic \(z\)-gradient showing Darcy’s law. The hydraulic conductivity obtained for the square array is \(k_z = 0.13621\) and for the hexagonal array is \(k_z = 0.16539\) in dimensionless units

The mean steady-state velocity component in the \(z\)-direction, \(v_{pz}\), increases linearly with the hydraulic \(z\)-gradient, \(i_z\), as shown in Fig. 7. While this is true for both arrays of solid particles, the linear behaviour implies that the Darcy’s law is well reproduced by the calculations. From the slopes of the linear variation, we may then calculate the hydraulic conductivity \(k_z\). We find that \(k_z = 0.13621\) for the square array, while \(k_z = 0.16539\) for the hexagonal case. As expected, the value of the hydraulic conductivity for the square geometry is smaller than for the hexagonal array. These values can be compared to previous 2D SPH simulations reported by Zhu et al. (1999). In order to do so we must convert our dimensionless results to dimensional form. Since for our models \(\{\rho _0\} =\) 1,000, \(\{r_0\} = 0.399\), and \(\{c_0\} = 10\), we have that \(k_z = 0.01362\) m/s for the square case and \(k_z = 0.016539\) m/s for the hexagonal case, which are comparable to the values reported by Zhu et al. (1999).

4.2 Non-Saturated Case

Similar calculation models were also carried out for the non-saturated case by varying the magnitude of \(i_z\). The discharge velocity field at three different times during the evolution is shown in Figs. 8 and 9 for the square and hexagonal arrays, respectively. In contrast to the saturated case, no steady-state regime is observed for the flow velocity in the non-saturated media. As opposed to the square array, the hexagonal geometry produces more obstruction to the flow of fluid at similar conditions.

Fig. 8
figure 8

Discharge velocity field at \(t =\) 1,000 (left), \(t =\) 1,500 (middle), and \(t =\) 2,000 (right) for the non-saturated square array. Times and velocities are given in dimensionless units

Fig. 9
figure 9

Discharge velocity field at \(t =\) 1,000 (left), \(t =\) 1,500 (middle), and \(t =\) 2,000 (right) for the non-saturated hexagonal array. Times and velocities are given in dimensionless units

Fig. 10
figure 10

Discharge velocity as a function of time for a non-saturated hexagonal array and varying values of the hydraulic gradient \(i_z\)

Fig. 11
figure 11

Natural logarithm of \(v_{zp}\) as a function of time \(t\) for a non-saturated hexagonal array. The plots depict the approximate temporal interval when the system is relaxing for each value of \(i_z\). The relaxation times are given in dimensionless units as calculated from the slopes of the linear dependences

The discharge velocity \(v_z\) in the centre of the porous matrix is plotted in Fig. 10 as a function of time for the hexagonal array and varying magnitude of the hydraulic gradient. As the magnitude of \(i_z\) is increased higher values of \(v_z\) are achieved at the beginning of the simulation. Owing to the obstructing effects of the porous matrix, the flow velocity decreases with time and relaxes to a value close to zero. The relaxation time for the transient is shown in Fig. 11 for all model calculations, where the natural logarithm of \(v_z\) is plotted as a function of time. We see that \(\ln v_z\) varies almost linearly with time during relaxation. The relaxation time, \(\tau \), can then be obtained from the slope of this linear behaviour. As shown in Fig. 11, the magnitude of the relaxation time achieves a minimum for \(i_z=0.01\) and increases for higher and lower values of the hydraulic gradient.

5 Conclusions

In this chapter, we have presented exploratory three-dimensional (3D) simulations of fluid flow through saturated and non-saturated homogeneous porous media, using an improved Smoothed Particle Hydrodynamics (SPH) algorithm that has been implemented in the Dual-SPHysics code (Gesteira et al. 2010). The simulations were carried out on GPU processors at high resolution, allowing for a large number of SPH particles (\(\sim \) \(10^{6}\)) at a low computational cost.

Two different initial configurations were tested, where the structure of the porous media was simulated using a regular 3D monolayer of solid spheres arranged in either a square or an hexagonal lattice. We find that for both geometries the fluid flow through a saturated homogeneous porous medium shows discharge velocities that are proportional to the hydraulic gradient, reproducing the Darcy’s law under small body forces. Results for the derived hydraulic conductivity were shown to compare well with previous two-dimensional (2D) simulations of flow through periodic porous media (Zhu et al. 1999). In all saturated models, an approximate steady-state regime is achieved by the flow. In general, the system takes longer to achieve a steady-state flow when the magnitude of the hydraulic gradient is decreased. In contrast, the flow in non-saturated porous media never achieves a steady-state regime. In this case, the flow is more efficiently obstructed in an hexagonal array than in a square lattice. For an hexagonal lattice, the flow relaxes to values of the velocity close to zero with relaxation times \(\tau \sim 10^{-4}\) in dimensionless units. More detailed simulations of these complex systems are under way for two-phase flows with different lattice arrays and geometries in order to reproduce the flow dynamics in more realistic porous media.