Skip to main content
Log in

One-Dimensional Finite Element Method Solution of a Class of Integro-Differential Equations: Application to Non-Fickian Transport in Disordered Media

  • Published:
Transport in Porous Media Aims and scope Submit manuscript

Abstract

We study an integro-differential equation that has important applications to problems of anomalous transport in highly disordered media. In one application, the equation is the continuum limit of a continuous time random walk used to quantify non-Fickian (anomalous) contaminant transport. The finite element method is used for the spatial discretization of this equation, with an implicit scheme for its time discretization. To avoid storage of the entire history, an efficient sum-of-exponential approximation of the kernel function is constructed that allows a simple recurrence relation. A 1D formulation with a linear element is implemented to demonstrate this approach, by comparison with available experiments and with an exact solution in the Laplace domain, transformed numerically to the time domain. The proposed scheme convergence assessment is briefly addressed. Future extensions of this implementation are then outlined.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Abbreviations

\(a_{p}\) :

Prony pre-exponential coefficient (–)

\(A_{ IJ}\) :

Mass matrix (\(\hbox {m}^{3}\))

\(b_{p}\) :

Prony exponent coefficient (1/min)

C :

Concentration (\(\hbox {kg}/\hbox {m}^{3}\))

\(D_{ij}\) :

Mean dispersion tensor (\(\hbox {m}^{2}/\hbox {min}\))

h :

Element length (m)

I :

Memory-concentration convolution (kg/m\(^{3}\))

\(j_{i}\) :

Flux vector (kg/m\(^{2}\).min)

\(L_{ IJ}\) :

Advection matrix (\(\hbox {m}^{3}/\hbox {min}\))

M :

Memory function (1/min)

\(P_{ IJ}\) :

Dispersion matrix (\(\hbox {m}^{3}/\hbox {min}\))

\(Q_{I}\) :

Load vector (kg/min)

\(q_{i}\) :

Mass flux (kg/m\(^{2}\).min)

\(n_{i}\) :

Outwards unit normal vector (–)

\(N_{I}\) :

Shape function (–)

s :

Element cross-sectional area (\(\hbox {m}^{2}\))

S :

Source (kg/m\(^{3}\).min)

t :

Time (min)

\(t_{1}\), \(t_{2}\) :

TPL parameters (min)

u :

Laplace variable (1/min)

\(v_{i}\) :

Mean velocity vector (m/min)

V :

Domain

\(x_{i}\) :

Coordinate vector (m)

\(\beta \) :

TPL parameter (–)

\(\varGamma \) :

Domain boundary

\(\delta \) :

Dirac delta function (–)

\(\varDelta \) :

Difference (–)

\(\phi \) :

Upwind parameter (–)

\(\theta \) :

Implicitness parameter (–)

\(\xi \) :

Normalized element coordinate (–)

\(\omega \) :

Time step interval parameter (–)

ij :

Coordinates indices

IJK :

Nodal indices

p :

Prony term index

\(\psi \) :

Transition time PDF

0:

Initial

1, 2:

Local nodal indices

, :

Covariant derivative

c :

Convective (or advective)

d :

Dispersive

D :

Dirichlet

N :

Neumann

n :

Time step index

R :

Robin

\(\sim \) :

Transformed

\(\cdot \) :

Time derivative

−:

Prescribed

\(\otimes \) :

Convolution

ADE:

Advection–dispersion equation

BC:

Boundary conditions

BTC:

Breakthrough curve

CTRW:

Continuous time random walk

DOF:

Degree of freedom

FEM:

Finite element method

GME:

Generalized master equation

IC:

Initial conditions

LT:

Laplace transform

PDE:

Partial differential equation

PDF:

Probability density function

TPL:

Truncated power law

References

  • Abramowitz, M., Stegun, I.: Handbook of Mathematical Functions. Dover, Mineola (1970)

    Google Scholar 

  • Alpert, B., Greengard, L., Hagstrom, T.: Rapid evaluation of nonreflecting boundary kernels for time-domain wave propagation. SIAM J. Numer. Anal. 37(4), 1138–1164 (2000)

    Article  Google Scholar 

  • Ben-Zvi, R.: A simple implementation of a 3D thermo-viscoelastic model in finite element programs. Comput. Struct. 34(6), 881–883 (1990)

    Article  Google Scholar 

  • Berkowitz, B., Cortis, A., Dentz, M., Scher, H.: Modeling non-Fickian transport in geological formations as a continuous time random walk. Rev. Geophys. 44, RG2003 (2006). doi:10.1029/2005RG000178

    Article  Google Scholar 

  • Carrera, J., Sánchez-Vila, X., Benet, I., Medina, A., Galarza, G., Guimerà, J.: On matrix diffusion: formulations, solution methods and qualitative effects. Hydrogeol. J. 6, 178–190 (1998)

    Article  Google Scholar 

  • Cortis, A., Berkowitz, B.: Anomalous transport in “classical” soil and sand columns. Soil Sci. Soc. Am. J. 68(5), 1539–1548 (2004). (ERRATUM: 2005, 69(1), 285)

    Article  Google Scholar 

  • Cortis, A., Berkowitz, B.: Computing ‘anomalous’ contaminant transport in porous media: the CTRW MATLAB toolbox. Gr. Water 43(6), 947–950 (2005)

    Article  Google Scholar 

  • Dentz, M., Cortis, A., Scher, H., Berkowitz, B.: Time behavior of solute transport in heterogeneous media: transition from anomalous to normal transport. Adv. Water Resour. 27, 155–173 (2004). doi:10.1016/j.advwatres.2003.11.002

    Article  Google Scholar 

  • Eggleston, J., Rojstaczer, S.: Identification of large-scale hydraulic conductivity trends and the influence of trends on contaminant transport. Water Resour. Res. 34(9), 2155–2168 (1998)

    Article  Google Scholar 

  • Einstein, A.: Über die von der molekulartheoretischen Theorie der Wärme geforderte Bewegung von in ruhenden Flüssigkeiten suspendierten Teilchen. Ann. Phys. Leipz. 17, 549–560 (1905)

    Article  Google Scholar 

  • Fokkema, D. R.: Subspace methods for linear, non-linear and eigen problems. PhD thesis, Utrecht University (1996)

  • Greengard, L., Lin, P.: Spectral approximation of the free-space heat kernel. Appl. Comput. Harmon. Anal. 9, 83–97 (2000)

    Article  Google Scholar 

  • Greengard, L., Strain, J.: A fast algorithm for the evaluation of heat potentials. Commun. Pure Appl. Math. 43, 949–963 (1990)

    Article  Google Scholar 

  • Haggerty, R., Gorelick, S.M.: Multiple-rate mass transfer for modeling diffusion and surface reactions in media with pore-scale heterogeneity. Water Resour. Res. 31(10), 2383–2400 (1995)

    Article  Google Scholar 

  • http://www.staff.science.uu.nl/~vorst102/bcg2.f

  • Jardine, P.M., Jacobs, G.K., Wilson, G.V.: Unsaturated transport processes in undisturbed heterogeneous porous media: I. Inorganic contaminants. Soil Sci. Soc. Am. J. 57, 945–953 (1993)

    Article  Google Scholar 

  • Jiang, S.: Fast evaluation of nonreflecting boundary conditions for the Schrodinger equation. PhD Thesis, New York University (2001)

  • Jiang, S., Greengard, L., Wang, S.: Efficient sum-of-exponentials approximations for the heat kernel and their applications. Adv. Comput. Math. 41(3), 529–551 (2015)

    Article  Google Scholar 

  • Jiang, S., Greengard, L.: Fast evaluation of nonreflecting boundary conditions for the Schrodinger equation in one dimension. Comput. Math. Appl. 47(6–7), 955–966 (2004)

    Article  Google Scholar 

  • Jiang, S., Greengard, L.: Efficient representation of nonreflecting boundary conditions for the time-dependent Schrodinger equation in two dimensions. Commun. Pure Appl. Math. 61, 261–288 (2008)

    Article  Google Scholar 

  • Li, J.: A fast time stepping method for evaluating fractional integrals. SIAM J. Sci. Comput. 31, 4696–4714 (2010)

    Article  Google Scholar 

  • Metzler, R., Klafter, J.: The random walk’s guide to anomalous diffusion: a fractional dynamics approach. Phys. Rep. 339, 1–77 (2000)

    Article  Google Scholar 

  • Patankar, S.: Numerical Heat Transfer and Fluid Flow. CRC Press, Boca Raton (1980)

    Google Scholar 

  • Scheidegger, A.E.: An evaluation of the accuracy of the diffusivity equation for describing miscible displacement in porous media. In: Proceedings on Theory of Fluid Flow in Porous Media Conference, University of Oklahoma, pp. 101–116 (1959)

  • Scher, H., Montroll, E.W.: Anomalous transit time dispersion in amorphous solids. Phys. Rev. B 12, 2455–2477 (1975)

    Article  Google Scholar 

  • Silva, O., Carrera, J., Dentz, M., Kumar, S., Alcolea, A., Willmann, M.: A general real-time formulation for multi-rate mass transfer problems. Hydrol. Earth Syst. Sci. 13, 1399–1411 (2009)

    Article  Google Scholar 

  • Sleijpen, G.L., Van der Vorst, H.A.: Maintaining convergence properties of BiCGstab methods in finite precision arithmetic. Numer. Algorithms 10(2), 203–223 (1995)

  • Sleijpen, G.L., van der Vorst, H.A.: Reliable updated residuals in hybrid Bi-CG methods. Computing 56(2), 141–163 (1996)

  • Xu, K., Jiang, S.: A bootstrap method for sum-of-poles approximations. J. Sci. Comput. 55(1), 16–39 (2013)

    Article  Google Scholar 

  • Zienkiewicz, O.C., Taylor, R.L.: The Finite Element Method, Volumes 1-3: The Basis, 5th edn. Butterworth Heinemann, Oxford (2000)

    Google Scholar 

Download references

Acknowledgments

B.B. gratefully acknowledges support by the Minerva Foundation, with funding from the Federal German Ministry for Education and Research. B.B. holds the Sam Zuckerberg Professorial Chair in Hydrology. S.J. was supported by NSF under grant DMS-1418918.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rami Ben-Zvi.

Appendices

Appendix 1

Applying the Galerkin method to the PDE (13) and its BCs (20)–(22) (see Zienkiewicz and Taylor 2000), with the weight functions \(N_{I}\) for (13), arbitrary \(N_{I}^{D}\) for (20), arbitrary \(N_{I}^{N}\) for (21) and arbitrary \(N_{I}^{R}\)for (22), we obtain

$$\begin{aligned}&\int \limits _V {N_I \,\left( {uC-C_0 +j_{i,i} -S} \right) } \;{{d}}V \nonumber \\&\quad +\int \limits _{\varGamma ^{D}} {N_I^D } \left( {C-\bar{{C}}} \right) d\varGamma +\int \limits _{\varGamma ^{N}} {N_I^N \left( {n_i q_i^d -\bar{{q}}} \right) d\varGamma } +\int \limits _{\varGamma ^{R}} {N_I^R } \left( {n_i j_i -\bar{{j}}} \right) d\varGamma =0\nonumber \\ \end{aligned}$$
(73)

By choosing C such that (20) is satisfied, the integral on \(\varGamma ^{D}\) vanishes. We may also choose \(N_{I}^{N} =-N_{I}\) and \(N_{I}^{R} =-N_{I}\), because they are arbitrary. Applying integration by parts and the divergence theorem to the volume integral and substituting (24), (26) and (27) in (73), yields

$$\begin{aligned}&\left( {uC_J -C_{0J} -S_J } \right) \int \limits _V {N_I N_J \,} \;{{d}}V-\int \limits _V {N_{I,i} j_i \,} \;{{d}}V+\int \limits _{\varGamma =\varGamma ^{D}+\varGamma ^{N}+\varGamma ^{R}} {N_I } n_i j_i d\varGamma \nonumber \\&\quad +\int \limits _{\varGamma ^{N}} {N_I^N \left( {n_i q_i^d -\bar{{q}}} \right) d\varGamma } +\int \limits _{\varGamma ^{R}} {N_I^R } \left( {n_i j_i -\bar{{j}}} \right) d\varGamma \nonumber \\&=\left( {uC_J -C_{0J} -S_J } \right) \int \limits _V {N_I N_J \,} \;{{d}}V-\int \limits _V {N_{I,i} j_i \,} \;{{d}}V+\int \limits _{\varGamma ^{D}} {N_I } n_i j_i d\varGamma \nonumber \\&\quad +\int \limits _{\varGamma ^{N}} {N_I \left( {n_i j_i -n_i q_i^d +\bar{{q}}} \right) d\varGamma } +\int \limits _{\varGamma ^{R}} {N_I \bar{{j}}} d\varGamma =0 \end{aligned}$$
(74)

We may also choose \(N_{I}\) such that it is 0 along \(\varGamma ^{D}\) so that the integral on \(\varGamma ^{D}\) vanishes. Substituting (14)–(16), (19) and (24) into (74), we finally obtain

$$\begin{aligned}&\left( {uC_J -C_{0J} -S_J } \right) \int \limits _V {N_I N_J \,} \;{{d}}V+MC_J \int \limits _V {N_{I,i} (D_{ij} N_{J,j} -v_i N_J )\,} \;{{d}}V \nonumber \\&\quad +\int \limits _{\varGamma ^{N}} {N_I \left[ {n_i MC_J (v_i N_J -D_{ij} N_{J,j} )+n_i C_J D_{ij} N_{J,j} +\bar{{q}}} \right] d\varGamma } +\int \limits _{\varGamma ^{R}} {N_I \bar{{j}}} d\varGamma =0\nonumber \\ \end{aligned}$$
(75)

or

$$\begin{aligned} A_{ IJ} (uC_J -C_{0J} -S_J )+B_{ IJ} I_J +Q_I =0, \end{aligned}$$
(76)

where \(A_{IK}\), \(L_{IK}\), \(P_{IK}\) and \(Q_{I}\) are the discrete mass, advection, dispersion and load matrices and vector, respectively, defined by

$$\begin{aligned} A_{ IJ}= & {} \int \limits _V {N_I N_J {{d}}V} \end{aligned}$$
(77)
$$\begin{aligned} L_{ IJ}= & {} \int \limits _V {N_{I,i} v_i } N_J {{d}}V \end{aligned}$$
(78)
$$\begin{aligned} P_{ IJ}= & {} \int \limits _V {N_{I,i} D_{ij} } N_{J,j} {{d}}V \end{aligned}$$
(79)
$$\begin{aligned} B_{ IJ}&\,\dot{=}\,&P_{ IJ} -L_{ IJ} \end{aligned}$$
(80)
$$\begin{aligned} Q_I= & {} I_J \int \limits _{\varGamma ^{N}} {N_I n_i v_i N_J d\varGamma } +\left( {C_J -I_J } \right) \int \limits _{\varGamma ^{N}} {N_I n_i D_{ij} N_{J,j} d\varGamma }\nonumber \\&+\int \limits _{\varGamma ^{N}} {N_I \bar{{q}}d\varGamma } +\int \limits _{\varGamma ^{R}} {N_I \bar{{j}}} d\varGamma \end{aligned}$$
(81)

and \(I_{J}\) is defined by

$$\begin{aligned} I_J (t)\,\dot{=}\,M\left( t \right) \otimes C_J \left( t \right) \hbox { or equivalently }\tilde{I}_J (u)\,\dot{=}\,\tilde{M}\left( u \right) \tilde{C}_J \left( u \right) \end{aligned}$$
(82)

In the following, we assume that \(v_{i}\) and \(D_{ij}\) are constant within each element and in time. Therefore, \(A_{ IJ}\), \(L_{ IJ}\), \(P_{ IJ}\) and \(B_{ IJ}\) are constant for given geometry, grid, velocity, dispersion and the specific type of elements and schemes chosen. Note also that \(A_{ IJ}\) and \(P_{ IJ}\) are symmetric, whereas the advection matrix, \(L_{ IJ}\) and \(B_{ IJ}\) are not.

The semi-discrete equation in the time domain is obtained by substituting (17) in the inverse Laplace transform of (75) and rearranging, yielding

$$\begin{aligned} A_{ IJ} \dot{C}_J \left( t \right) +B_{ IJ} I_J \left( t \right) +T_I \left( t \right) =0 \end{aligned}$$
(83)

where \(T_{I}\) is defined by

$$\begin{aligned} T_I (t)\,\dot{=}\,Q_I (t)-A_{ IJ} S_J (t) \end{aligned}$$
(84)

For the ADE, substituting \(\tilde{M}(u)=1\) in (76) yields the same form, but with \(\tilde{I}_{J}\) replaced by \(\tilde{C}_{J}\). Substituting \(\tilde{M}(u)=1\) in (81) gives the simplified form

$$\begin{aligned} Q_I =\int \limits _{\varGamma ^{N}} {N_I \left[ {n_i C_J v_i N_J +\bar{{q}}} \right] d\varGamma } +\int \limits _{\varGamma ^{R}} {N_I \bar{{j}}} d\varGamma . \end{aligned}$$
(85)

Let us now discretize (83) in time using (28) and (29):

$$\begin{aligned} A_{ IJ} \frac{C_J^{n+1} -C_J^n }{\varDelta t}+B_{ IJ} \left[ {\theta I_J^{n+1} +\left( {1-\theta } \right) I_J^n } \right] +\left[ {\theta T_I^{n+1} +\left( {1-\theta } \right) T_I^n } \right] =0 \end{aligned}$$
(86)

where \(0\le \theta \le 1\) is an implicitness parameter (0 for fully explicit, 1 for fully implicit and 0.5 for Crank–Nicolson method).

For the Prony series model, we may further simplify (86) with \(I_{J}^{n+1}\) given by (40) and \(K_{J}^{n+1}\) given by (34). Rearranging, we finally obtain the following system of linear equations:

$$\begin{aligned} \alpha _{ IJ} C_J^{n+1} =R_I^{n+1} \end{aligned}$$
(87)

with

$$\begin{aligned} \alpha _{ IJ}&\,\dot{=}\,&\frac{A_{ IJ} }{\varDelta t}+B_{ IJ} \theta \left[ {a_0 +\sum _{p=1}^P {\gamma _p^{n+1} } } \right] \end{aligned}$$
(88)
$$\begin{aligned} \beta _{ IJ}&\,\dot{=}\,&\frac{A_{ IJ} }{\varDelta t}+B_{ IJ} \left[ {\left( {1-\theta } \right) a_0 -\theta \sum _{p=1}^P {\gamma _p^n } } \right] \end{aligned}$$
(89)
$$\begin{aligned} R_I^{n+1}&\,\dot{=}\,&\beta _{ IJ} C_J^n -\left\{ {B_{ IJ} \sum _{p=1}^P {\left[ {\left( {1-\theta } \right) +\theta \frac{M_p (\varDelta t)}{a_p }} \right] I_{Jp}^n +\left[ {\theta T_I^{n+1} +\left( {1-\theta } \right) T_I^n } \right] } } \right\} \nonumber \\ \end{aligned}$$
(90)

Note that for the ADE (87) remains unaltered, but (88)–(90) are degenerated to

$$\begin{aligned} \alpha _{ IJ}&\,\dot{=}\,&\frac{A_{ IJ} }{\varDelta t}+B_{ IJ} \theta \end{aligned}$$
(91)
$$\begin{aligned} \beta _{ IJ}&\,\dot{=}\,&\frac{A_{ IJ} }{\varDelta t}-B_{ IJ} \left( {1-\theta } \right) \end{aligned}$$
(92)
$$\begin{aligned} R_I^{n+1}&\,\dot{=}\,&\beta _{ IJ} C_J^n -\left[ {\theta T_I^{n+1} +\left( {1-\theta } \right) T_I^n } \right] \end{aligned}$$
(93)

The source term is presently not implemented.

Appendix 2

Fig. 6
figure 6

Scheidegger (1959) memory function, M, (a) versus Laplace variable u (real); (b) versus: time, t, (c) versus time in log–log scale

A typical memory function (for the first validation case) is presented in Fig. 6 in both the Laplace (Fig. 6a) and time (Fig. 6b, c) domains. At \(t\rightarrow 0\), \(\tilde{M}\left( u \right) \rightarrow N-1\) and at \(t\rightarrow \infty \), \(\tilde{M}\left( u \right) \rightarrow N\), where N is the normalization constant defined in (11), which is very close to the TPL parameter \(\beta \) defined in (10). Because the sum-of-exponentials approaches zero at infinity, it is used to approximate \(\tilde{M}( u )-N\), so that in the time domain, the \(a_{0} \delta ( t )\) term is added [see (30)], with \(a_{0} =N\) . As \(t\rightarrow \infty \), M(t) approaches 0, while it becomes a nearly constant negative value at \(t\rightarrow 0^{+}\) . At \(t=0\), there is a small increase in M(t) due to the \(a_{0} \delta ( t )\) term, but it is still negative. Both \(\tilde{M}( u )\) and M(t) are smooth, except the M(t) singularity at \(t=0\).

There are two ways of computing the convolution (82).

The first method evaluates M(t) via some representation and then computes the convolution (28), \(I_{J}^{n} =\int \limits _{0}^{{t}^{n}} {M(t^{n}-\tau )} C_{J} (\tau )d\tau \), directly by splitting the integration domain into n subintervals and approximating the integral on each subinterval via the trapezoidal rule. This direct method requires storage of \(C_{J} ( 0 )\), \(C_{J} (\varDelta t)\), ..., \(C_{J} (n\,\varDelta t)\) and O(n) work at the nth step. Thus, the overall computational cost is \(O( N_{t}^{2} )\) and the storage requirement is \(O( N_{t} )\), where \(N_{t}\) is the total number of time steps.

The second method to evaluate the convolution (82) first seeks an efficient sum-of-exponential approximation for M(t), i.e., \(M(t)\cong a_{0} \delta (t)+\sum \limits _{p=1}^{P} a_{p} e^{{-b}_{p} t}\) [see (30)]. Here, P is the number of terms needed in the sum-of-exponential approximation. We then observe that the convolution with an exponential function can be calculated efficiently via a simple recurrence relation. The computational cost of this scheme is \(O(P\cdot N_{t} )\) to evaluate \(I_{J}^{1} ,I_{J}^{2} ,\ldots ,I_{J}^{{N}_{t} }\); and the storage requirement is only O(P), i.e., one only needs to store the history part for each exponential mode. In practice, as in the present study, P is very often a small number and is independent of \(N_{t}\) for our particular problem. Hence, both the computational cost and the storage requirement of the second scheme are optimal.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ben-Zvi, R., Scher, H., Jiang, S. et al. One-Dimensional Finite Element Method Solution of a Class of Integro-Differential Equations: Application to Non-Fickian Transport in Disordered Media. Transp Porous Med 115, 239–263 (2016). https://doi.org/10.1007/s11242-016-0712-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11242-016-0712-0

Keywords

Navigation