Skip to main content
Log in

A pore-scale model for simulating water flow in unsaturated soil

  • Research Paper
  • Published:
Microfluidics and Nanofluidics Aims and scope Submit manuscript

Abstract

Pore-scale simulation and tomography have been used in a combination over the past decade to study some fundamental physical and biogeochemical processes in soil that are difficult or impossible to measure, one of which is water flow in unsaturated soil. Considering that an important application of pore-scale simulation in soil is to elucidate how convective water flow distributes soluble nutrients through the heterogeneous pore space when water flow is in steady state, we propose an alternative model in this paper to simulate unsaturated water flow at pore scale. The model is quasi-static, consisting of two steps. The first one is to determine water distribution in the pore geometry using a morphological model; once the water distribution is known under a pressure, the water–air interface is fixed in space. The second step is to simulate water flow numerically by solving the Stokes equations in which the water–air interface is treated as a boundary. We test the water flow model against analytical solution of thin water film flow over a non-slip solid wall, and then combine it with the morphological model to simulate water flow in 3D soil structures acquired using X-ray tomography at resolution of 10 µm. As a validation, we compare the permeability calculated by the model under different saturations with those estimated by the van Genuchten formula using the saturated permeability and water retention parameters obtained from the morphological model. We also discuss the pros and cons of the model and its implications in unsaturated soil modelling.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

Download references

Acknowledgements

The research of WH is financially supported by the National Natural Science Foundation of China (Grant number 11602180) and the Fundamental Research Funds for the Central Universities (WUT:2017IVB058 and WUT:2017IVA064). Rothamsted Research receives strategic funding from UK BBSRC.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wulong Hu.

Additional information

Publisher’s Note

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

Appendix A

Appendix A

Herein, we briefly explain the procedure of the Simple method for solving the Stokes equations (Eq. 1 in the main text). In the Simple method, the pressure is defined at the centre and the three velocity components at the six sides of each voxel as shown in Fig. 8. For ease of explanation, we use indexes i, j and k to represent the location of the voxels in the x, y and z directions, respectively. For the voxels shown in Fig. 8, the coordinate of the centre of the central voxel is (i, j, k) and the locations of its six sides are \((i \pm 1/2,j,k)\), \((i,j \pm 1/2,k)\) and \((i,j,k \pm 1/2)\), respectively. In the discretization, the cell dimensions (e.g., dx, dy, and dz) are equal to the side length of the voxels ε.

Fig. 8
figure 8

Schematic for the locations of the pressure and velocity defined in the model a. 2D diagram of voxel (i, j) and its neighbouring velocity components b

The numerical solution starts from a trial pressure P. Taking the velocity defined at the locations of \((i - 1/2,j,k),\) \((i,j - 1/2,k)\) and \((i,j,k - 1/2)\) as an example, the finite volume solution for each of them is:

Velocity in the x direction:

$$\begin{gathered} \left( {u_{x}^{{i - 3/2,j,k}} - u_{x}^{{i - 1/2,j,k}}} \right)+\left( {u_{x}^{{i+1/2,j,k}} - u_{x}^{{i - 1/2,j,k}}} \right)+\left( {u_{x}^{{i - 1/2,j - 1,k}} - u_{x}^{{i - 1/2,j,k}}} \right)+\left( {u_{x}^{{i - 1/2,j+1,k}} - u_{x}^{{i - 1/2,j,k}}} \right) \hfill \\ +\left( {u_{x}^{{i - 1/2,j,k - 1}} - u_{x}^{{i - 1/2,j,k}}} \right)+\left( {u_{x}^{{i - 1/2,j,k+1}} - u_{x}^{{i - 1/2,j,k}}} \right)=\frac{\varepsilon }{\mu }\left( {{P^{i,j,k}} - {P^{i - 1,j,k}}} \right). \hfill \\ \end{gathered}$$
(12)

Velocity in the y direction:

$$\begin{gathered} \left( {u_{y}^{{i,j - 3/2/,k}} - u_{y}^{{i,j - 1/2,k}}} \right)+\left( {u_{y}^{{i,j+1/2,k}} - u_{y}^{{i,j - 1/2,k}}} \right)+\left( {u_{y}^{{i - 1,j - 1/2,k}} - u_{y}^{{i,j - 1/2,k}}} \right)+\left( {u_{y}^{{i+1,j - 1/2,k}} - u_{y}^{{i,j - 1/2,k}}} \right) \hfill \\ +\left( {u_{y}^{{i,j - 1/2,k - 1}} - u_{y}^{{i,j - 1/2,k}}} \right)+\left( {u_{y}^{{i,j - 1/2,k+1}} - u_{y}^{{i,j - 1/2,k}}} \right)=\frac{\varepsilon }{\mu }\left( {{P^{i,j,k}} - {P^{i,j - 1,k}}} \right). \hfill \\ \end{gathered}$$
(13)

Velocity in the z direction:

$$\begin{gathered} \left( {u_{z}^{{i,j,k - 3/2}} - u_{z}^{{i,j,k - 1/2}}} \right)+\left( {u_{z}^{{i,j,k+1/2}} - u_{z}^{{i,j,k - 1/2}}} \right)+\left( {u_{z}^{{i - 1,j,k - 1/2}} - u_{z}^{{i,j,k - 1/2}}} \right)+\left( {u_{z}^{{i+1,j,k - 1/2}} - u_{z}^{{i,j,k - 1/2}}} \right) \hfill \\ +\left( {u_{z}^{{i,j - 1,k - 1/2}} - u_{z}^{{i,j,k - 1/2}}} \right)+\left( {u_{z}^{{i,j+1,k - 1/2}} - u_{z}^{{i,j,k - 1/2}}} \right)=\frac{\varepsilon }{\mu }\left( {{P^{i,j,k}} - {P^{i,j,k - 1}}} \right). \hfill \\ \end{gathered}$$
(14)

In above equations ε is the side length of the voxels. Once all velocity components are calculated, the pressure is upgraded by solving the following equation:

$$\begin{gathered} \left( {{p^{i - 1,j,k}} - {p^{i,j,k}}} \right)+\left( {{p^{i+1,j,k}} - {p^{i,j,k}}} \right)+\left( {{p^{i,j - 1,k}} - {p^{i,j,k}}} \right)+\left( {{p^{i,j+1,k}} - {p^{i,j,k}}} \right)+\left( {{p^{i,j,k - 1}} - {p^{i,j,k}}} \right) \hfill \\ +\left( {{p^{i,j,k+1}} - {p^{i,j,k}}} \right)=\frac{{4\mu }}{\varepsilon }\left( {u_{x}^{{i - 1/2,j,k}} - u_{x}^{{i+1/2,j,k}}+u_{y}^{{i,j - 1/2,k}} - u_{x}^{{i+,j+1/2,k}}+u_{x}^{{i,j,k - 1/2}} - u_{x}^{{i,j,k+1/2}}} \right) \hfill \\ \end{gathered}$$
(15)

If the calculated velocities do not conserve mass, they are updated and the all the above procedures are repeated. Take the velocities defined at the above three locations as an example, they are updated as follows:

$$\begin{gathered} u_{x}^{*}={u_x}+\frac{{{\alpha _x}}}{{4\mu \varepsilon }}\left( {{p^{i - 1,j,k}} - {p^{i,j,k}}} \right), \hfill \\ u_{y}^{*}={u_y}+\frac{{{\alpha _y}}}{{4\mu \varepsilon }}\left( {{p^{i,j - 1,k}} - {p^{i,j,k}}} \right), \hfill \\ u_{z}^{*}={u_z}+\frac{{{\alpha _z}}}{{4\mu \varepsilon }}\left( {{p^{i,j,k - 1}} - {p^{i,j,k}}} \right), \hfill \\ \end{gathered}$$
(16)

where αx, αy and αz are relaxing parameters. The updated velocities are then used to calculate the pressure by solving Eq. (15), the results from which are used to update the velocity by solving (12)–(14). This loop continues until the mass conservation criterion was met.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hu, W., Liu, G. & Zhang, X. A pore-scale model for simulating water flow in unsaturated soil. Microfluid Nanofluid 22, 71 (2018). https://doi.org/10.1007/s10404-018-2090-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10404-018-2090-0

Keywords

Navigation