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

We focus on water infiltration modeled by the parabolic nonlinear Richards equation, written here on a polygonal domain \(\varOmega \) (in \(\mathbb {R}^2\)) with a finite time horizon \(T>0\) and mixed Dirichlet-Neumann boundary conditions:

$$\begin{aligned} {\left\{ \begin{array}{ll} \partial _t \theta (\psi ) - \nabla \cdot \left( \mathbb {K}(\psi )\nabla (\psi +z)\right) = f &{}\text {in } Q_T \mathrel {\mathop :}= \varOmega \times (0,T), \\ \psi = \psi _\mathrm{D} &{}\text {on } \partial \varOmega ^{\text {D}}\times (0,T), \\ -\mathbb {K}(\psi )\nabla (\psi +z) \cdot n = g &{}\text {on }\partial \varOmega ^{\text {N}}\times (0,T),\\ \psi _{t=0} = \psi ^0 &{}\text {in } \varOmega \times \{0\}, \end{array}\right. } \end{aligned}$$
(1)

where the unknown is the hydraulic head \(\psi \). Implicit schemes are preferred to solve this equation because explicit ones are only valid in the vadose zone and have a restrictive CFL condition. Therefore, nonlinear systems are solved at each discrete time level, and we have to pay special attention to the computational cost. In order to optimize this cost, we can use local a posteriori estimates, which allow to control the error between the exact and approximate solutions. These estimates are local bounds that involve only the approximate solution and, ideally, some fully computable constants. Several methods are available to obtain such estimates. The current work deals with the equilibrated fluxes method [13]. For this method, the difficulty is to reconstruct some continuous equilibrated fluxes from the discrete ones.

This method has received particular attention in various studies over the last few years: finite elements for elasticity problems and the Poisson equation in [5, 11], DG methods for a reaction-diffusion-convection equation in [8], finite volumes for multiphase compositional flows in [6]. More recently, theoretical developments have unified various space discretizations, for the linear heat equation [9], and for a nonlinear parabolic problem [7]. In the latter robust fully computable lower and upper bounds were obtained using a space-time dual norm. This work includes the water content formulation of the Richards equation. Other related results concerning the Richards equation are available in [3], but based on the Kirchoff transform.

In this paper we consider a formulation based on the hydraulic head, which remains valid in saturated soils unlike the water content form. We also put aside the Kirchoff transform to benefit from conservative schemes especially designed for physical variables. The objective of this work is twofold: to derive a fully computable upper bound in the spirit of [7, 13], and to propose some space and time flux reconstructions for the Discrete Duality Finite Volume Scheme (DDFV) from [2]. Indeed, the nonlinearity in the time derivative term requires a special treatment, which we address by equilibrating the time flux as well as the space flux in accordance with the space-time norm used in the estimators. The upper bound can be split into spatial, temporal and linearization error components. An adaptive algorithm is proposed to choose a stopping criterion for the nonlinear algorithm and to adjust the time step during the simulation. Although we consider a DDFV scheme in this paper, our results remain general and not attached to a particular space discretization.

Section 2 introduces our upper bounds using a key space and time equilibrated flux assumption. Section 3 describes the appropriate flux reconstructions for the DDFV scheme. Section 4 presents an adaptive algorithm, and numerical results for two test cases: an infiltration problem with an analytical solution, and a stiff case. Section 5 draws some conclusions and perspectives.

2 A Posteriori Error Estimate

Consider a simplicial mesh \(\fancyscript{M}\) of \(\varOmega \). We denote by \(K\) a cell of \(\fancyscript{M}\) of diameter \(h_K\) and by \(\left( t^n\right) _{1\le n\le N}\) some discrete time levels. We set \(I^n \mathrel {\mathop :}= (t^{n-1},t^n)\) and \(\delta t^n \mathrel {\mathop :}= t^n - t^{n-1}\) for \(1\le n\le N\). The weak formulation of (1) reads:

$$\begin{aligned} \int _{0}^{T} \! \lbrace (f,\phi ) + (\theta (\psi ),\partial _{t} \phi ) - (\mathbb {K}(\psi )\nabla (\psi +z),\nabla \phi ) -&(g,\phi )_{\partial \varOmega } \rbrace (t) \ \mathrm {d} t \nonumber \\&\,+ (\theta (\psi ^0),\phi (.,0)) = 0 \end{aligned}$$
(2)

where \((.,.)\) denotes the usual \(L^2\)-inner product on \(\varOmega \), and the test functions \(\phi \) belong to the space \(Y \mathrel {\mathop :}= \lbrace \phi \in L^2(0,T;H^1(\varOmega )) \,\mid \, \partial _t\phi \in L^2(Q_T),\ \phi (.,T) = 0 ,\ \phi (x,t) = 0\ \forall (x,t) \in \partial \varOmega ^\mathrm{{D}}\times ]0,T] \rbrace \). Under reasonable assumptions expressed in [1], one can prove the existence of a solution \(\psi \) to Eq. (2) in \(L^2(0,T;H^1(\varOmega )) \cap L^{\infty }(Q_T)\).

We assume that an approximate solution \(\tilde{\psi }\) is available in the space \(X \mathrel {\mathop :}= \lbrace \phi \in L^2(0,T,H^1(\varOmega )) \,\mid \, \partial _t\phi \in L^2(Q_T) \rbrace \). The usual \(L^2\)-norm on \(K \times I^n\) is denoted by \(\left\| \cdot \right\| _{K\times I^n}\), we set \(\left\| \phi \right\| _{Y,K\times I^n} \mathrel {\mathop :}= \left( \left\| \phi ^2 \right\| _{K\times I^n} + h_K^2 \left\| \nabla \phi ^2 \right\| _{K\times I^n} + (\delta t^n)^2 \left\| \partial _t \phi \right\| _{K\times I^n}^2\right) ^{1/2}\) and \(\left\| \phi \right\| _Y \mathrel {\mathop :}= \left( \sum _n\sum _{K \in \fancyscript{M}} \left\| \phi ^2 \right\| _{Y,K\times I^n} \right) ^{1/2}\). As we want local estimates, we define at each time level the subspace \(Y^n \mathrel {\mathop :}= \lbrace \phi \in Y \,\mid \, t\mapsto \phi (\cdot ,t)\ \text {vanishes outside}\ I_n \rbrace \). The error we want to measure is defined as \(\fancyscript{E}^n(\tilde{\psi }) \mathrel {\mathop :}= \sup _{\phi \in Y^n, \left\| \phi \right\| _Y = 1} \langle R^n(\tilde{\psi }),\phi \rangle \), where \( \langle R^n(\tilde{\psi }),\phi \rangle \mathrel {\mathop :}= \int _{I^n}^{} \! \lbrace (f,\phi ) + (\theta (\tilde{\psi }),\partial _t \phi ) - (\mathbb {K}(\tilde{\psi })\nabla (\tilde{\psi }+z),\nabla \phi ) - (g,\phi )_{\partial \varOmega } \rbrace (t) \ \mathrm {d} t.\)

We now consider any space discretization of (1) that can be written as:

$$\begin{aligned} \frac{d}{dt} M\varTheta (\varPsi _h) + A(\varPsi _h) \varPsi _h = B(\varPsi _h) \end{aligned}$$
(3)

where \(\varPsi _h(t)\) is the vector of the degrees of freedom for the approximate solution, \(M\) is a nonsingular mass matrix, the matrix \(A(\varPsi _h)\) approximates the semilinear diffusion term \(-\nabla \cdot \left( \mathbb {K}(\cdot )\nabla \cdot \right) \), and the vector \(B(\varPsi _h)\) gathers the contributions of the gravity, source and boundary conditions. Then we use the Crank-Nicolson time-stepping algorithm, and obtain the following discrete problem for each \(n \ge 1\):

$$\begin{aligned}&\frac{M}{\delta t^n}\varTheta (\varPsi ^n) + \frac{1}{2}A(\varPsi ^n)\varPsi ^n \\&= \frac{1}{2} \left( B(\varPsi ^n)+B(\varPsi ^{n-1})\right) + \frac{M}{\delta t^n}\varTheta (\varPsi ^{n-1}) - \frac{1}{2}A(\varPsi ^{n-1})\varPsi ^{n-1} =\mathrel {\mathop :} D(\varPsi ^n,\varPsi ^{n-1}), \end{aligned}$$

where \(\varPsi ^n \simeq \varPsi _h(t^n)\). We solve this nonlinear system using linearizations like in [12]. For each time level \(n\), we look for a sequence of vectors \(\left( \varPsi ^{n,m} \right) _{m\ge 1}\) solving

$$\begin{aligned} \left( \frac{M}{\delta t^n}\varTheta '(\varPsi ^{n,m-1}) + \frac{1}{2}A(\varPsi ^{n,m-1}) \right)&\delta \varPsi ^{n,m} \nonumber \\ = D(\varPsi ^{n,m-1},\varPsi ^{n-1})&- \frac{1}{2}A(\varPsi ^{n,m-1})\varPsi ^{n,m-1} - \frac{M}{\delta t^n} \varTheta (\varPsi ^{n,m-1}), \end{aligned}$$
(4)

where \(\delta \varPsi ^{n,m} = \varPsi ^{n,m} - \varPsi ^{n,m-1}\). In order to obtain this discrete system, we used the approximations \(\varTheta \left( \varPsi ^{n,m}\right) \simeq \varTheta \left( \varPsi ^{n,m-1}\right) + \varTheta '(\varPsi ^{n,m-1}) \cdot \delta \varPsi ^{n,m}\), \(A(\varPsi ^{n,m}) \varPsi ^{n,m} \simeq A(\varPsi ^{n,m-1}) \varPsi ^{n,m}\), and \(D(\varPsi ^{n,m},\varPsi ^{n-1}) \simeq D(\varPsi ^{n,m-1},\varPsi ^{n-1})\). This corresponds to a Newton linearization in time, and a Picard linearization in space.

We assume that we can associate with each discrete vector \(\varPsi ^\bullet \) (\(\bullet \) stands for \(\{n,m\}\) or \(n-1\)) of degrees of freedom a unique reconstructed function \(\psi _h^\bullet \in H^1(\varOmega )\). At time \(t^n\) the value of \(\varPsi ^{n-1}\) is known, and so is its reconstruction \(\psi _h^{n-1} \in H^1(\varOmega )\). After resolution of the linear system (4) for \(1\le m\), the values of \(\varPsi ^{n,m}\) are known, and we consider their reconstructions \(\psi _h^{n,m} \in H^1(\varOmega )\). Next, for each iteration level \(m\), the space and time reconstruction is given by \(\tilde{\psi }^{n,m}(t) = (t-t^{n-1})/\delta t^n\ \psi _h^{n,m} + (t^n-t)/\delta t^n\ \psi _h^{n-1} \in X\). The following theorem gives an a posteriori estimate of the error \(\fancyscript{E}^n(\tilde{\psi }^{n,m})\). In the resolution algorithm, the nonlinear iterations are stopped upon completion of a criterion based on this theorem, and we set \(\varPsi ^n \mathrel {\mathop :}= \varPsi ^{n,m}\) before moving to the next time level.

Theorem 1

Let \(n\ge 1\) be given and consider some reconstructions on \(\varOmega \times I^n\) of: the source term, \(\tilde{f} \in L^2(\varOmega \times I_n)\); the time flux at the current iteration \(m\), \(\tilde{\theta }^m(t) \in L^2(\varOmega )\) and affine in time; the space flux at the current iteration \(m\), \(\tilde{\mathbf {t}}^m \in L^2(I^n,H(\mathrm {div},\Omega ))\); and the time and space fluxes obtained by linearization between the iterations \(m-1\) and \(m\), \(\tilde{\theta }_\text {lin}^m(t) \in L^2(\varOmega )\) (affine in time) and \(\tilde{\mathbf {t}}_\text {lin}^m \in L^2(I^n,H(\mathrm {div},\Omega ))\) and such that \(\tilde{\theta }_\text {lin}^m(t^{n-1}) = \tilde{\theta }^m(t^{n-1})\), \(\tilde{\mathbf {t}}_\text {lin}^m(t^{n-1}) = \tilde{\mathbf {t}}^m(t^{n-1})\), both independent of \(m\) at time \(t^{n-1}\).

Assume, that for any cell \(K\in \fancyscript{M}\), we have

$$\begin{aligned} \int _{K\times I^n}^{} \! \lbrace \tilde{f} - \partial _t \tilde{\theta }_\text {lin}^m - \nabla \cdot \tilde{\mathbf {t}}_\text {lin}^m \rbrace \ \mathrm {d} t = 0 \end{aligned}$$
(5)

(note that \(\partial _t \tilde{\theta }_\text {lin}^m = 1/\delta t^n\left( \tilde{\theta }_\text {lin}^m(t^n) - \tilde{\theta }^m(t^{n-1}) \right) \)). Then the following estimate holds:

$$\begin{aligned} \fancyscript{E}^n(\tilde{\psi }^{n,m}) \le \eta _\text {residual}^{n,m} + \eta _{\tilde{\theta }}^{n,m} + \eta _{\tilde{\theta }_{\text {lin}}}^{n,m} + \eta _{\tilde{\mathbf {t}}}^{n,m} + \eta _{\tilde{\mathbf {t}}_\text {lin}}^{n,m} +\eta _{\tilde{f}}^{n} + \eta _\text {boundary}^{n,m}, \end{aligned}$$

with \(\eta _{\bullet }^{n,m} \mathrel {\mathop :}= \left( \sum _{K\in \fancyscript{M}} (\eta _{\bullet ,K}^{n,m})^2 \right) ^{1/2}\) and \(\eta _{\bullet }^{n,m} \mathrel {\mathop :}= \left( \sum _{\sigma \subset \partial \varOmega } (\eta _{\bullet ,\sigma }^{n,m})^2 \right) ^{1/2}\), where

$$\begin{aligned} \begin{array}{c} \eta _{\text {residual},K}^{n,m} \mathrel {\mathop :}= C^\mathrm{P}\left\| \tilde{f} - \partial _t \tilde{\theta }_\text {lin}^m - \nabla \cdot \tilde{\mathbf {t}}_\text {lin}^m \right\| _{K\times I^n}, \\ \eta _{\tilde{\theta },K}^{n,m} \mathrel {\mathop :}= (\delta t^n)^{-1} \left\| \theta (\tilde{\psi }^{n,m})-\tilde{\theta }^m \right\| _{K\times I^n}, \ \eta _{\tilde{\theta }_\text {lin},K}^{n,m} \mathrel {\mathop :}= (\delta t^n)^{-1} \left\| \tilde{\theta }_\text {lin}^m - \tilde{\theta }^m \right\| _{K\times I^n} , \\ \eta _{\tilde{\mathbf {t}},K}^{n,m} \mathrel {\mathop :}= h_K^{-1} \left\| \mathbb {K}(\tilde{\psi }^{n,m})\nabla (\tilde{\psi }^{n,m}+z)+\tilde{\mathbf {t}}^m \right\| _{K\times I^n}, \quad \eta _{\tilde{\mathbf {t}}_\text {lin},K}^{n,m} \mathrel {\mathop :}= h_K^{-1} \left\| \tilde{\mathbf {t}}^m-\tilde{\mathbf {t}}_\text {lin}^m \right\| _{K\times I^n}, \\ \eta _{\tilde{f},K}^n \mathrel {\mathop :}= \left\| f-\tilde{f} \right\| _{K\times I^n}, \quad \eta _{\text {boundary},\sigma }^{n,m} \mathrel {\mathop :}= \left( \sqrt{2}C^\mathrm{T}_{K,\sigma }\right) ^{\frac{1}{2}}h_K^{-1/2}\left\| \tilde{\mathbf {t}}^m-g \right\| _{\sigma \times I^n}. \end{array} \end{aligned}$$

The proof is derived from [7]. It is based on Eq. (5), which is a re-expression of the scheme, along with some space and time Poincaré and trace inequalities from [7, 8].

3 Application to the DDFV Scheme

We discretize equation (1) with the DDFV scheme detailed in [2]. This method provides some approximate values \(\varPsi _h = (\psi _K,\psi _A)\) of \(\psi \) at the centers \(x_K\) and at the vertices \(x_A\) of the cells \(K\in \fancyscript{M}\). The unknown vector \(\varPsi _h\) solves a system of finite volume equations (written here for \(f=0\) and a homogeneous Dirichlet problem):

$$\begin{aligned}&|K| \frac{d\theta (\psi _K) }{dt} - \sum _{\sigma \in \partial K} \mathbb {K}(\psi _{\sigma ,K}) \left( \nabla _{\sigma ,K} \varPsi _h + e_z \right) \cdot N_{\sigma ,K} = 0, \\&|A| \frac{d\theta (\psi _A)}{dt} - \sum _{\sigma \in \partial A} \left( \mathbb {K}(\psi _{\sigma ,K}) (\nabla _{\sigma ,K}\varPsi _h + e_z) \cdot N_K^A + \mathbb {K}(\psi _{\sigma ,L}) (\nabla _{\sigma ,L}\varPsi _h + e_z)\cdot N_L^A \right) = 0, \end{aligned}$$

for all cells \(K\) in \(\fancyscript{M}\) and all vertices \(x_A\) of \(\fancyscript{M}\). The permeability matrix \(\mathbb {K}\) is evaluated at the points \(\psi _{\sigma ,K} \mathrel {\mathop :}= (\psi _K + \psi _{A} + \psi _{B})/3\) (Fig. 1). We construct two gradients \(\nabla _{\sigma ,K}\) and \(\nabla _{\sigma ,L}\) on each side of an interface \(\sigma \) between some cells \(K\) and \(L\) (see Fig. 2):

$$\begin{aligned} \nabla _{\sigma ,K}\varPsi _h&= \frac{1}{2|D_{\sigma ,K}|}\left( (\psi _\sigma -\psi _{K})N_{\sigma ,K} + (\psi _{B}-\psi _{A})N_K^A \right) ,\\ \nabla _{\sigma ,L}\varPsi _h&= \frac{1}{2|D_{\sigma ,L}|}\left( (\psi _{L}-\psi _\sigma )N_{\sigma ,L} + (\psi _{B}-\psi _{A})N_L^A \right) . \end{aligned}$$

We get rid of the auxiliary unknown \(\psi _\sigma \) by solving the linear local conservativity condition \(\mathbb {K}(\psi _{\sigma ,K}) \left( \nabla _{\sigma ,K} \varPsi _h + e_z\right) \cdot N_{\sigma ,K} + \mathbb {K}(\psi _{\sigma ,L}) \left( \nabla _{\sigma ,L}\varPsi _h + e_z\right) \cdot N_{\sigma ,L} = 0\).

Fig. 1
figure 1

a Notations for DDFV method—b Cells (in gray) of the secondary mesh, obtained by joining the center of each cell to the corresponding edges

Fig. 2
figure 2

Degrees of freedom for the reconstruction of \(\psi _h^\bullet \) (circle points) and \(\theta _h^\bullet \) (square points) on each triangle \(D_{\sigma ,K}\). Both functions are continuous across interfaces

Given \(1\le n\) and the vector \(\varPsi ^{n-1}\) at time \(t^{n-1}\), the fully discretized scheme provides the sequence \(\left( \varPsi ^{n,m}\right) _{m\ge 1}\) at time \(t^n\). The function \(\psi _h^{n-1} \in H^1(\varOmega )\) at time \(t^{n-1}\) is the piecewise affine function on the triangles \(D_{\sigma ,K}\) that interpolates \(\psi _K^{n-1}\), \(\psi _A^{n-1}\) and \(\psi _B^{n-1}\) at the vertices \(x_K\), \(x_A\) and \(x_B\) of \(D_{\sigma ,K}\). The functions \(\psi _h^{n,m} \in H^1(\varOmega )\) are constructed similarly from the vectors \(\varPsi _h^{n,m}\). It remains to explain how the reconstructions \(\tilde{\theta }^m\), \(\tilde{\theta }_\text {lin}^m\), \(\tilde{\mathbf {t}}^m\), \(\tilde{\mathbf {t}}_\text {lin}^m\) and \(\tilde{f}\) used to obtain (5) are built. All these reconstructions are affine in time, hence completely determined by their values at time \(t^{n-1}\) and at time \(t^n\), nonlinear iterate number \(m\), denoted respectively by \(\theta _h^{n-1}\), \(\theta _{h,\text {lin}}^{n-1}\), \(\mathbf {t}_h^{n-1}\), \(\mathbf {t}_{h,\text {lin}}^{n-1}\), \(f_h^{n-1}\), and \(\theta _h^{n,m}\), \(\theta _{h,\text {lin}}^{n,m}\), \(\mathbf {t}_h^{n,m}\), \(\mathbf {t}_{h,\text {lin}}^{n,m}\), \(f_h^{n}\).

The functions \(f_h^{n-1}\) and \(f_h^{n}\) in \(L^2(\varOmega )\) are piecewise constant on the cells \(K\) with \((f_h^{n-1})_{|K} = f_K^{n-1}\) and \((f_h^{n})_{|K} = f_K^{n}\), where \(f_K^\bullet \) approximates \(1/|K|\int _{K}^{} \! f(x,t^\bullet ) \ \mathrm {d} x\).

The functions \(\theta _h^\bullet \in L^2(\varOmega )\) are piecewise polynomials of degree 3 on the triangles \(D_{\sigma ,K}\), uniquely defined by their values \(\theta (\psi (x_i))\) at the 9 degrees of freedom depicted on Fig. 2 and the equality \(1/|D_{\sigma ,K}| \int _{D_{\sigma ,K}}^{} \! \theta _h^\bullet (x) \ \mathrm {d} x = \theta (\psi _K^\bullet )\). The function \(\theta _{h,\text {lin}}^{n,m}\) is defined similarly, bar the condition \(1/|D_{\sigma ,K}| \int _{D_{\sigma ,K}}^{} \! \theta _{h,\text {lin}}^{n,m}(x) \ \mathrm {d} x = \theta (\psi _K^{n,m-1}) + \theta '(\psi _K^{n,m-1}) (\psi _K^{n,m}-\psi _K^{n,m-1})\). In addition, we take \(\theta _{h,\text {lin}}^{n-1} = \theta _h^{n-1}\).

The functions \(\mathbf {t}_h^\bullet \in H(\mathrm {div},\Omega )\) are piecewise in the usual Raviart-Thomas-Nédélec space \(\mathbf {RTN}_1(K)\) on each triangle \(K\) and uniquely defined by the conditions (see [4]):

$$\begin{aligned} \begin{array}{c} \frac{1}{|\sigma |}\int _{\sigma }^{} \! \mathbf {t}_h^\bullet \cdot N_{\sigma ,K} \ \mathrm {d} \sigma = -\mathbb {K}(\psi _{\sigma ,K}^\bullet ) \left( \nabla _{\sigma ,K}\varPsi ^\bullet + e_z\right) \cdot N_{\sigma ,K}, \\ \frac{1}{|\sigma |}\int _{\sigma }^{} \! x\ \mathbf {t}_h^\bullet \cdot N_{\sigma ,K} \ \mathrm {d} \sigma = -\frac{1}{2}\mathbb {K}(\psi _{\sigma ,K}^\bullet ) \left( \nabla _{\sigma ,K}\varPsi ^\bullet + e_z\right) \cdot N_{\sigma ,K}, \\ \int _{K}^{} \! \mathbf {t}_h^\bullet \ \mathrm {d} x = - \sum \limits _{\sigma \subset \partial K} |D_{\sigma ,K}| \mathbb {K}(\psi _{\sigma ,K}^\bullet ) \left( \nabla _{\sigma ,K}\varPsi ^\bullet + e_z\right) . \end{array} \end{aligned}$$

Note that the last condition is straightforward to derive with the DDFV scheme, as the discrete gradient is piecewise constant on each triangle \(D_{\sigma ,K}\). \(\mathbf {t}_{h,\text {lin}}^{n,m}\) is set similarly, using \(\mathbb {K}(\psi _{\sigma ,K}^{n,m-1})\) instead of \(\mathbb {K}(\psi _{\sigma ,K}^{n,m})\).

4 Results

In order to define the adaptive algorithm below, the total error estimate from Theorem 1 is split into the contribution of the time-stepping method \(\eta _{\text {time}}^{n,m} \mathrel {\mathop :}= \eta _\text {residual}^{n,m}\), the contribution of the space discretization \(\eta _{\text {space}}^{n,m} \mathrel {\mathop :}= \eta _{\tilde{\theta }}^{n,m} + \eta _{\tilde{\mathbf {t}}}^{n,m} + \eta _{\tilde{f}}^{n} + \eta _\text {boundary}^{n,m}\), and the contribution of the linearization \(\eta _{\text {lin}}^{n,m} \mathrel {\mathop :}= \eta _{\tilde{\theta }_{\text {lin}}}^{n,m} + \eta _{\tilde{\mathbf {t}}_\text {lin}}^{n,m}\). At time \(t^n\), we start with the current time step, then stop the nonlinear iterations for \(m=m^\star \) such that the estimate \(\eta _{\text {lin}}^{n,m^\star }\) becomes small with respect to \(\eta _{\text {space}}^{n,m^\star } + \eta _{\text {time}}^{n,m^\star }\), and finally adjust the time step so as to balance \(\eta _{\text {time}}^{n,m^\star }\) and \(\eta _{\text {space}}^{n,m^\star }\).

Table 1 L\(^2\) norm of the error \(\Vert \psi -\psi _h\Vert _{L^2(\varOmega \times (0,T))}\)
Fig. 3
figure 3

a Adapted time step over time (in seconds)—b Cumulated number of Picard iterations, adapted case (dashed line) versus non adapted case (solid line)

figure a

The first test case features a downward infiltration problem with an analytical solution given by \(\psi (z,t) = 20.4 \tanh \left( 0.5 \left( z + t/12 - 15 \right) \right) - 41.1\), which determines adequate source term and Dirichlet boundary condition enforced on \(\partial \varOmega \). The water content and the hydraulic conductivity are defined by Haverkamp’s constitutive relationships from [10]. Table 1 shows that the expected second-order convergence remains valid when the adaptive algorithm is used.

We then propose a stiffer case characterized by a strong overpressure imposed on the top of the column through a Dirichlet condition. This stiffness requires a fairly low time step at the beginning of the simulation for the iterative procedure to converge. But the time step can be increased afterwards, and a time adaptation is especially relevant in this case. Figure 3 displays the gain measured in terms of the cumulated number of Picard iterations over time.

5 Conclusions

We presented a fully computable global in space and local in time upper bound for the Richards equation, using the Crank-Nicolson time scheme and any space discretization. The estimate was decoupled into three error components, which we equilibrated in an adaptive time-stepping algorithm. Our results showed that the second-order convergence still holds true, and that the benefit in terms of total number of iterations can reach a full order of magnitude on stiff cases. In a future work we plan to derive a lower bound to confirm the robustness of this estimate.