1 Introduction

The Laplace transform (LT) method has been widely used to solve linear problems in several areas of science and engineering. After proper transformation of the space variable, the application of LT to dynamic models is useful for finding semi-analytic solutions for many real dynamic problems in the so-called Laplace domain (Everdingen and Hurst 1949; Warren and Root 1963; Barker 1988; Chang and Yortsos 1993; Park et al. 2000; Camacho-Velázquez et al. 2008; Moreles et al. 2013). Those solutions need to be inverted in order to obtain appropriate solutions in the time domain; if analytical inversion is not possible, then numerical procedures such as the Stehfest (1970) or de Hoog et al. (1982) algorithms are employed. Sometimes, just the short- or long-term system behavior is of interest, and for this purpose asymptotic approaches are commonly used to avoid the inversion needed for complete solutions (Flamenco-Lopez and Camacho-Velazquez 2001; Flamenco-López and Camacho-Velázquez 2003). For solute transport and fluid flow problems in porous media, such as aquifers (Barker 1988), oil, and geothermal reservoirs, the LT method helps to find semi-analytic solutions (Everdingen and Hurst 1949; Camacho-Velázquez et al. 2008; Warren and Root 1963; Razminia et al. 2014; Hernandez-Coronado et al. 2012), exhibiting many advantages over purely numerical procedures. The main example is where subsequent inverse modeling is implemented in order to retrieve model parameters of interest. However, for more complex problems, the semi-analytic solution is not always available, and other alternatives need to be explored. In this context, numerical solutions are commonly used, but if they are not properly handled, some restrictions related to the spatial discretization process appear; specifically, numerical dispersion, instabilities due to the discretization procedure (González-Calderón et al. 2017), and violations of the mass conservation principle (Herrera-Hernández et al. 2013, 2017). Recently, hybrid methods combining LT and finite differences (LTFD) have been successfully applied to solve problems of slightly compressible fluid flow in oil reservoirs (Moridis and Reddel 1991; Moridis et al. 1994), two-phase fluid flow (Habte and Onur 2014), and even in advection–dispersion-type models in economy (Tagliani and Milev 2013) or heat conduction problems (Chen and Chen 1988). This sort of hybrid method presents some valuable characteristics which are absent in numerical solutions: (1) there are no restrictions on the time variable due to a discretization process since it is approximated in the Laplace domain, so the solution can be generated for any specific value, and (2) the initial conditions and other time-dependent properties are easily treated in the Laplace domain. However, it is worth mentioning that the LTFD method has some disadvantages compared to the purely-numerical approach: (1) as time approaches zero, the Laplace parameter tends to diverge and oscillating solutions could appear, and (2) the LTFD method is not robust when solutions behave in a non-smooth way (Wang and Zhan 2015). As the aim of this work is to present the model solution for non-Fickian and fractal double-porosity/single-permeability reservoirs, and to analyze the LTFD methodology as a potential tool for modeling fluid reservoirs, we put special attention on the details described above.

In this work, through the combination of the Laplace transform and finite difference methods, we develop and validate semi-numerical solutions for a fractal telegraphic double-porosity model previously derived in (Hernández et al. 2013). In the cited work, only particular cases of the complete telegraphic double porosity model were reported; these were used to validate our model solutions before attacking the complete model problem, whose solution has not been reported before in the literature. Further, a parametric analysis of physical parameters was carried out.The paper is outlined as follows: in Sect. 2, we present the mathematical model along with initial and boundary conditions. Section 3 presents a detailed description of the LTFD method. Results and discussions are shown in Sect. 4. Finally, concluding remarks and perspectives are summarized in Sect. 5.

2 Theory

2.1 The double-porosity model

As in the pioneering work of Warren and Root (1963), the physical model consists of a porous medium constituted by two media: one where fluid flows and the other where fluid is stored. The former is associated with the connected fracture network and the latter to the rock matrix. One of the main differences between the Warren and Root model and the one solved in this paper is that here the porous medium is assumed to be a percolating cluster, where backbone structure plays the role of the fracture network and dead-ends play the role of the rock matrix. Fluid motion occurs in the backbone network whereas dead-end structures can participate or not in the flow, depending on physical parameters. Thus, the dimensionless mathematical model describing the fluid behavior in isotropic fractal reservoirs due to participation of the fracture network and rock matrix is given by Hernández et al. (2013)

$$\begin{aligned} (1-\omega )\frac{\partial h_{1}}{\partial t}&= \frac{\lambda }{r^{d_\mathrm{de}-d}}\left( h_{2}-h_{1}\right) \end{aligned}$$
(1)
$$\begin{aligned} \omega \tau \frac{\partial ^{2} h_{2}}{\partial t^{2}}+\left( \omega +\lambda \tau r^{d-d_\mathrm{bb}}\right) \frac{\partial h_{2}}{\partial t}&= \frac{1}{r^{d_\mathrm{bb}-1}}\frac{\partial }{\partial r}\left( r^{\beta }\frac{\partial h_{2}}{\partial r}\right) \nonumber \\&\quad +\left( \lambda \tau r^{d-d_\mathrm{bb}}-\left[ 1-\omega \right] r^{d_\mathrm{de}-d_\mathrm{bb}}\right) \frac{\partial h_{1}}{\partial t}, \\&\quad \text {where}\quad \beta =d_\mathrm{bb}-1-\theta \nonumber \end{aligned}$$
(2)

In the last equation, \(h_{1}=h_{1}(r,t)\) is the dimensionless dead-ends hydraulic head and \(h_{2}=h_{2}(r,t)\) is the dimensionless hydraulic head inside the percolation backbone. The parameters \(d_\mathrm{bb}\) and \(d_\mathrm{de}\) are the fractal dimensions of the backbone network and dead-end structure, respectively, d is the Euclidean dimension in which the system is embedded, \(\omega \) is the backbone storativity ratio, and \(\tau \) is the relaxation time associated with fluid flow within the backbone fracture network. The parameter \(\lambda \) quantifies the fluid exchanged between the percolation backbone and the dead-end structure while \(\theta \) is related to the connectivity degree of the backbone network. More details of the model can be found in Hernández et al. (2013).

Equation (1) represents the hydraulic head evolution inside the dead-ends, including mass exchange between dead-end and backbone. Meanwhile, Eq. (2) is related to head evolution inside the backbone due to gradient-driven flux and dead-end contributions. Note from Eq. (1) that fluid accumulation inside dead-ends depends only on the local head gradient between the backbone and the dead-ends. Furthermore, the amount of fluid passing from the dead-ends to the backbone is determined by the exchange parameter \(\lambda \). In this sense, the discharge point is not connected to dead-ends, but rather is only connected to the backbone structure. On the other hand, opposite to the usual double porosity model, fluid inside the backbone flows at a finite velocity, which is the main characteristic of this model, and its motion depends on the flux-driven term and the mass exchange with the dead-ends, as described in Eq. (2).

2.2 Initial and boundary conditions

Because the model is of second order in time and space for the backbone equation and of first order in time for the dead-end equation, we need two initial conditions and two boundary conditions for Eq. (2) and one initial condition for Eq. (1). Writing the initial conditions as general space-dependent functions, we have

$$\begin{aligned} h_{1}(t=0,r)= & {} g_{1}(r), \quad 1\le r\le L, \end{aligned}$$
(3)
$$\begin{aligned} h_{2}(t=0,r)= & {} g_{2}(r)\quad \text {and},\quad \frac{\partial h_{2}(t=0,r)}{\partial t} = g_{3}(r) \end{aligned}$$
(4)

The boundary conditions depend on the operating conditions being modeled. In this work, we define two cases: (1) a bounded reservoir with constant head at the wellbore and (2) a bounded reservoir with constant head gradient at the wellbore. For the first case, we set a constant head at the inner boundary as follows:

$$\begin{aligned} h_{2}(r=1,t) = h_{w}, \end{aligned}$$
(5)

which is a Dirichlet-type condition, and for the outer boundary we impose zero flux (a Neumann-type boundary condition), i.e.,

$$\begin{aligned} \frac{\partial h_{2}}{\partial r}\left. \right| _{r=L} =0. \end{aligned}$$
(6)

For the second case, we fix the head gradient at the inner boundary (i.e., at the well) as follows:

$$\begin{aligned} \frac{\partial h_{2}}{\partial r}\left. \right| _{r=1} = -1, \end{aligned}$$
(7)

while at the outer boundary, a zero-flux boundary condition is taken into account, i.e., Eq. (6).

The above boundary condition implies an instantaneous flow rate at the wellbore of the form

$$\begin{aligned} Q(t) =1-\exp {\left( -\frac{t}{\tau }\right) }. \end{aligned}$$
(8)

Equation (8) is a consequence of the flux inherent memory in the telegraphic double porosity model, which implies a general behaviour for the fluid flux given by

$$\begin{aligned} Q(t) = -\frac{1}{\tau }\int _{0}^{t}\exp \left( -\frac{t-\hat{t}}{\tau }\right) \,\frac{\partial h_{2}}{\partial r}{\left. \right| }_{r=1}\,\mathrm{d}\hat{t}. \end{aligned}$$
(9)

Note that, to evaluate the amount of fluid discharged at any time, it is necessary to take into account the memory process through the integration of the solution from the beginning. Equation (7) comes from the derivation of the generalized Darcy’s law, which is not restricted to only the instantaneous response of flow to head gradients. In fact, the exponential function inside the integral operator represents an appropriated kernel encompassing ballistic diffusion for short times and normal diffusion for long times (Hernández et al. 2013). These features are useful for modeling flow processes in highly heterogeneous porous media (Dentz and Tartakovsky 2006).

Finally, notice that Eq. (8) is a more realistic condition than the one commonly used in drawdown well test analysis, which states a constant flow rate.

3 Methodology

3.1 Laplace transform

The LT for any time-dependent function h(rt) is given by

$$\begin{aligned} \bar{h}= \mathcal {L}(h(r,t)) = \int _{0}^{\infty } h(r,t)e^{-st}\mathrm{d}s, \end{aligned}$$
(10)

where s is the LT variable and \(\bar{h}(r,s)\) is the hydraulic head in Laplace domain. Some useful properties of LTs are: \(\mathcal {L}(h_{t}(r,t)) = s\bar{h}-h(r,0)\) and \(\mathcal {L}(h_{tt}(r,t)) = s^{2}\bar{h}-sh(r,0)-h_{t}(r,0)\), where \(h_{t}(r,t)\) and \(h_{tt}(r,t)\) are first- and second-order partial derivatives with respect to time, respectively.

By applying the LT to Eq. (1) and using its respective initial conditions given by (3), the following transformed equation is obtained

$$\begin{aligned} (1-\omega )\left( s\bar{h}_{1}-g_{1}(r)\right) = \frac{\lambda }{r^{d_\mathrm{de}-d}}\left( \bar{h}_{2}-\bar{h}_{1}\right) , \end{aligned}$$
(11)

which can be solved for \(h_{1}\) and the following expression is derived

$$\begin{aligned} \bar{h}_{1} = \frac{\bar{h}_{2}\lambda +g_{1}(r)(1-\omega ) r^{d_\mathrm{de}-d}}{s(1-\omega ) r^{d_\mathrm{de}-d}+\lambda }. \end{aligned}$$
(12)

On the other hand, applying the LT to Eq. (2) and using its respective initial conditions given by Eq. (4), one obtains the following equation:

$$\begin{aligned}&\omega \tau \left( s^{2}\bar{h}_{2}-g_{3}(r)-sg_{2}(r)\right) +\left( \omega + \lambda \tau r^{d-d_\mathrm{bb}}\right) \left( s\bar{h}_{2}-g_{2}(r)\right) \nonumber \\&\quad =\frac{1}{r^{d_\mathrm{bb}-1}}\frac{\partial }{\partial r}\left( r^{\beta }\frac{\partial \bar{h}_{2}}{\partial r}\right) +\left( \lambda \tau r^{d-d_\mathrm{bb}}-(1-\omega )r^{d_\mathrm{de}-d_\mathrm{bb}}\right) \left( s\bar{h}_{1}-g_{1}(r)\right) \end{aligned}$$
(13)

where \(g_{i}\), \(i=1,2,3\), are the initial conditions for both dependent variables. After introducing (12) into (13) and doing some algebraic effort, considering that partial derivatives become ordinary derivatives in the Laplace domain, we obtain

$$\begin{aligned} \frac{d}{dr}\left( r^\beta \frac{d\bar{h}_{2}}{dr}\right) -f_{s}(r)\bar{h}_{2}=\gamma _{s}(r) \end{aligned}$$
(14)

where function \(f_{s}(r)\) is given by

$$\begin{aligned} f_{s}(r)&= \omega \tau s^{2}r^{d_\mathrm{bb}-1}+\left( \omega r^{d_\mathrm{bb}-1} + \lambda \tau r^{d-d_\mathrm{bb}}\right) s\nonumber \\&\quad -\left( \lambda \tau r^{d-d_\mathrm{bb}}-(1-\omega )r^{d_\mathrm{de}-d_\mathrm{bb}}\right) \frac{s\lambda }{s(1-\omega ) r^{d_\mathrm{de}-d}+\lambda }, \end{aligned}$$
(15)

whereas \(\gamma _{s}(r)\) is

$$\begin{aligned} \gamma _{s}(r)&= \left( \frac{s(1-\omega ) r^{d_\mathrm{de}-d}}{s(1-\omega ) r^{d_\mathrm{de}-d}+\lambda }-1\right) g_{1}(r)\left( \lambda \tau r^{d-d_\mathrm{bb}}-(1-\omega )r^{d_\mathrm{de}-d_\mathrm{bb}}\right) \nonumber \\&\quad +\omega \tau \left( g_{3}(r)+sg_{2}(r)\right) + \left( \omega + \lambda \tau r^{d-d_\mathrm{bb}}\right) g_{2}(r). \end{aligned}$$
(16)

Analytical solutions for Eq. (14) are only possible in some particular cases, for example: (a) \(d_\mathrm{bb}=d_\mathrm{de}=d=2\) and \(\theta =0\). (b) \(\omega =1\), \(\lambda =0\), \(\theta > 0 \), \(d=2\) and \(d_\mathrm{bb} \le 2\). In the first case, we have a telegraphic Euclidean double-porosity model, while in the second one we have a fractal telegraphic single-porosity model. Both have been solved elsewhere for an infinite reservoir (Hernández et al. 2013). Further, analytical solutions for infinite Euclidean non-telegraphic double porosity models, \(\tau =0\), were studied in Everdingen and Hurst (1949), Warren and Root (1963), Camacho-Velázquez et al. (2008). The semi-numerical solution presented here encompasses all mentioned cases that can be derived from Eqs. (1) and (2) through proper selection of parameters.

If the transformation \(\xi =\int r^{-\beta }\mathrm{d}r\) is proposed for the spatial coordinate, then the new space-independent variable must be evaluated based on the relation

$$\begin{aligned} \xi = {\left\{ \begin{array}{ll} \log (r) &{} \beta =1 \, , \\ \frac{1}{1-\beta }r^{1-\beta } &{} \beta \, \ne \, 1\, , \end{array}\right. } \end{aligned}$$
(17)

so that Eq. (14) becomes

$$\begin{aligned} \frac{\mathrm{d}^2\bar{h}_{2}}{\mathrm{d}\xi ^2} -\hat{f}_{s}(\xi )\bar{h}_{2}=\hat{\gamma }_{s}(\xi ) \end{aligned}$$
(18)

where \(\hat{f}_{s}(\xi )= b^{\beta /b}\xi ^{\beta /b} f_{s}(\xi ) \), \(\hat{\gamma }_{s}(\xi )=b^{\beta /b}\xi ^{\beta /b}\gamma _{s}(\xi )\) and \(b= 1/(1-\beta \)). To simplify algebraic manipulation, from this point forward the subscripts for \(\bar{h}_{2}\), \(\hat{f}_{s}\), and \(\hat{\gamma }_{s}\) will be omitted.

3.2 Finite differences in the Laplace domain

Defining the approximation of the dependent variable as \(\bar{h}_{i}\approx \bar{h}(\xi _{i})\) at the ith grid element, the functions in Eq. (18) become \(\hat{f}_{i}=\hat{f}(\xi _i)\) and \(\hat{\gamma }_{i}=\hat{\gamma }(\xi _{i})\), then using centered finite differences to approximate the second-order derivative we have

$$\begin{aligned} \frac{\mathrm{d}^2 \bar{h}}{\mathrm{d}\xi ^2}\approx \frac{\bar{h}_{i-1}-2\bar{h}_{i}+\bar{h}_{i+1}}{\Delta \xi ^2}. \end{aligned}$$
(19)

Therefore, the discretized representation of Eq. (18) is given by

$$\begin{aligned} \bar{h}_{i-1}-(2+\Delta \xi ^2 \hat{f}_{i})\bar{h}_{i}+\bar{h}_{i+1}=\Delta \xi ^2\hat{\gamma }_{i}. \end{aligned}$$
(20)

The space domain is uniformly discretized as \(\xi _{i} =\xi _{i-1}+\,\mathrm{d}\xi \), \(i=2,\dots ,M\). \(\xi _{1}=0\) for \(\beta =1\) and b otherwise. For \(\beta =1\), \(\mathrm{d}\xi = \log (r){/}M\) and \((L^{b}-r_{w}^{b})/bM\) otherwise. M is the number of subdivisions for the \(\xi \) coordinate. Note that Eq. (20) is only valid within the spatial domain for \(2\le i \le M-1\). At the boundaries, \(i=1\) and \(i=M\), proper equations have to be used based on the case analyzed. For constant head at the wellbore, \( h=h_{w}\). The LT of this inner boundary condition is \(\bar{h}_{w} = h_{w}/s\), which corresponds to the first spatial node, whose discretized equation is

$$\begin{aligned} \bar{h}_{1} = \frac{h_{w}}{s}. \end{aligned}$$
(21)

The corresponding LT for the outer boundary condition, Eq. (6), is \(\partial \bar{h}/\partial \xi = 0\), and the proper equation for the last node using backward finite difference schemes is

$$\begin{aligned} \bar{h}_{M} - \bar{h}_{M-1} = 0. \end{aligned}$$
(22)

The dimensionless fluid flow in the Laplace domain results from the application of LT to Eq. (7)

$$\begin{aligned} \bar{Q} = -\frac{1}{s\tau +1}\,\frac{\partial \bar{h}}{\partial \xi }{\left. \right| }_{\xi _{1}}. \end{aligned}$$
(23)

On the other hand, boundary conditions in the Laplace domain for asymptotically convergent flow are generated after applying the LT to Eqs. (6) and (9). As the outer boundary condition is similar to the former case, Eq. (22) can be used in the same manner for the last node of the spatial domain. The inner boundary condition can be derived from (9), and its discretized representation is

$$\begin{aligned} \bar{h}_{1}-\bar{h}_{2}=\frac{\Delta \xi }{s}. \end{aligned}$$
(24)

The hydraulic head at the wellbore is evaluated by Eq. (23) based on

$$\begin{aligned} \bar{h}_{1}=\Delta \xi \, (s\tau + 1)\bar{Q}+\bar{h}_{2}, \end{aligned}$$
(25)

where \(\bar{Q}\) is the constant asymptotic flow rate, which takes some predefined value as t increases. Note that Eqs. (24) and (25) are equivalent, and both of them can be used to represent the inner boundary conditions and hydraulic head evolution at the wellbore.

3.3 Numerical inverse Laplace transform

The inverse LT is evaluated numerically with Stehfest’s algorithm (Stehfest 1970). The procedure consists of taking an approximation of the real part of the Laplace parameter (Moridis et al. 1994; Habte and Onur 2014), s, in order to evaluate a specific time, t, as follows:

$$\begin{aligned} s_{\nu } = \frac{ln(2)}{t}\nu ,\qquad \nu =1,\dots ,N_{p} \end{aligned}$$
(26)

where \(N_{p}\) is an even number of parameters used in the approach. For a particular time, the Laplace parameter is a vector, \(\mathbf {s}\), of \(N_{p}\) elements. Each element of \(\mathbf {s}\), i.e., \(s_{i}\), is substituted into discretized equations based on the particular case being solved. For constant head at the wellbore, \(\mathbf {s}\) is used in Eqs. (20)–(22), whereas for asymptotically constant flow rate, \(\mathbf {s}\) is substituted in Eqs. (20), (22), and (24). The result is a tridiagonal linear algebraic system whose matrix form is

$$\begin{aligned} \begin{bmatrix} {d_1}&{e_{1}}&{ }&{ }&{ 0 } \\ {1}&{d_2}&{1}&{ }&{ } \\ { }&{1}&{d_3}&\ddots&{ } \\ { }&{ }&\ddots&\ddots&{1}\\ { 0 }&{ }&{ }&{c_{M}}&{d_M}\\ \end{bmatrix}_{\nu } \begin{bmatrix} {h_1 } \\ {h_2 } \\ {h_3 } \\ \vdots \\ {h_M } \\ \end{bmatrix}_{\nu } =\Delta \xi ^{2} \begin{bmatrix} {\gamma _1 } \\ {\gamma _2 } \\ {\gamma _3 } \\ \vdots \\ {\gamma _M } \\ \end{bmatrix}_{\nu } \end{aligned}$$
(27)

which, in compact notation, can be written as \(\mathbf {M}_{\nu }\mathbf {h}_{\nu } =\mathbf {\gamma }_{\nu }\), where \(\mathbf {M}_{\nu }\) is the matrix shown in Eq. (27), \(\mathbf {h}_{\nu }\) is the unknown vector of the head-transformed \(\bar{h}\), and \(\mathbf {\gamma }\) is the known right-hand-side vector which mainly depend on the initial and boundary conditions. Solution of the algebraic system is performed efficiently through the Thomas’ algorithm (Thomas 1949), which is a direct numerical method that approximates the solution of (27) stated by

$$\begin{aligned} \mathbf {h}_{\nu } =\mathbf {M}^{-1}_{\nu }\mathbf {\gamma }_{\nu }\qquad \nu =1,\dots ,N_{p}. \end{aligned}$$
(28)

Coefficients in \(\mathbf {M}_{\nu }\) correspond to those in Eq. (20), where, for \(2\le i\le M-1\), \(d_{i}= -2-\Delta \xi ^{2}\hat{f}_{i}\) and \(c_{i}=e_{i}=1\). Coefficients for the first and last rows depend on the boundary conditions. For constant head at the wellbore and based on Eqs. (21) and (22), \(d_{1}=1\), \(e_{1}=0\), \(\gamma _{1}=1/s_{\nu }+\Delta \xi ^{2} \hat{\gamma }_{1}\), \(c_{M}=1\), and \(d_{M}=-1\). For asymptotically constant flow rate, the only change is at the inner boundary as the other coefficients remain the same as in the former case. In this case \(d_{1}=1\), \(e_{1}=-1\), and \(\gamma _{1}=\Delta \xi /s_{\nu }+\Delta \xi ^{2} \hat{\gamma }_{1}\). Note that \(\hat{\gamma }_{1}\) depends on the initial conditions and, based on the definitions of the dimensionless variables in Hernández et al. (2013), they are zero; therefore, \(\hat{\gamma }_{1}\) must be zero as well.

The solution arises from the summation of these individual solutions, \(\mathbf {h}_{\nu }\), based on the following equations:

$$\begin{aligned} h(r,t)= & {} \frac{ln(2)}{t}\sum _{\nu =1}^{Np}W_{\nu }\, \mathbf {h}_{\nu },\end{aligned}$$
(29)
$$\begin{aligned} W_{\nu }= & {} F_{\nu }\sum _{\kappa =L_{0}}^{L_{M}}\frac{\kappa ^{\frac{N_{p}}{2}}(2\kappa )!}{\left( \frac{N_{p}}{2}-\kappa \right) ! \kappa ! (\kappa -1)!(\nu -\kappa )!(2\kappa -\nu )!}, \end{aligned}$$
(30)

where \(F_{\nu }=(-1)^{\frac{N_{p}}{2}+\nu }\), \(L_{0}=(\nu +1)/2\), and \(L_{M}=\mathrm{min}(\nu ,N_{p}/2)\). Note that Eqs. (29) and (30) allow us to evaluate the flow rate given by (23) by changing \(\mathbf {h}_{\nu }\) for \(Q_{\nu }\). We must recall that the solution in (29) corresponds to the backbone hydraulic head \(h_{2}\) in Eqs. (1) and (2), and that it is related to dead-ends through Eq. (12).

3.4 Semi-analytic solutions

To qualitatively validate the semi-numerical solutions, we define some model parameters in Eqs. (1) and (2) so that the semi-analytic solutions are feasible to obtain. Semi-analytic solutions are exact in space and approximate in time as a numerical inversion algorithm is needed to invert the solution from the Laplace domain. The first case we use to validate our seminumerical method corresponds to \(\lambda =0\) and \(\omega =1\). The general semi-analytical solution in Laplace space for this particular case is

$$\begin{aligned} \bar{h}_{2}=r^{\frac{1-\beta }{2}}\left[ A_{1}(s)I_{\upsilon }\left( \frac{\sqrt{\alpha }}{d_{w}}r^{d_{w}}\right) +A_{2}(s)K_{\upsilon }\left( \frac{\sqrt{\alpha }}{d_{w}}r^{d_{w}}\right) \right] \end{aligned}$$
(31)

where \( \alpha =\tau s^2 +s \), \( d_{w}=(\theta +2)/2 \) and \( \upsilon =(1-\beta )/2d_{w} \). \( I_{\upsilon }\) and \( K_{\upsilon } \) are the modified Bessel functions of order \( \upsilon \) of the first and second kinds, respectively. The constants \(A_{1}(s)\) and \(A_{2}\)(s) in the solution depend on the boundary conditions and must be evaluated for each case: constant head and asymptotically constant flow rate at the inner boundary with zero-flux at the outer boundary. Note that this general solution encompasses different cases related to several parameter combinations, and even though we deactivated parameters connected with dual porosity for the fractal case, the solution is also valid for the telegraphic Euclidean dual-porosity system where \( d=d_\mathrm{bb}=d_\mathrm{de}=2 \) and \( \theta =0 \); then \(d_{w}=1\) and \(\upsilon =0\). Particular solutions are not presented in this work as they can be derived from Eq. (31) using the appropriate boundary conditions.

4 Results and discussion

In Table 1, we summarize several validated cases for two types of volumetric reservoirs whose analytic solutions are feasible to obtain in the Laplace domain: (1) telegraphic Euclidean dual porosity and (2) telegraphic fractal single porosity. The model solutions are derived for two different inner boundary conditions: (a) constant hydraulic head and (b) constant hydraulic head difference which implies asymptotically constant flow rate. Meanwhile, the outer boundary condition obeys zero flux or homogeneous Neumann boundary condition. For constant head, the flow rate is evaluated with Eq. (9), whereas for asymptotically constant flow rate at the inner boundary, the wellbore hydraulic head is presented. For the first type of reservoir, we varied relevant dual-porosity parameters as \(\omega \) and \(\lambda \), while the remaining parameters were fixed. For telegraphic fractal single-porosity reservoirs, we set \(\lambda =0\) and \(\omega = 1\), and the model parameters related to fractality, \(\theta \) and \(d_\mathrm{bb}\), were varied. Based on the original definitions of the dimensionless variables in the general model, the initial conditions for every case studied were taken as zero.

Table 1 Cases for validation with semi-analytical solutions for (1) telegraphic Euclidean dual-porosity reservoirs, and (2) telegraphic fractal single-porosity reservoirs
Table 2 Cases for the fractal telegraphic dual-porosity model whose analytical solution is not feasible

In Table 2, we summarize solutions for the general case: the fractal telegraphic dual-porosity model, whose solution has not been previously reported. As for validation cases, some model parameters are fixed and others are varied so that their effects can be isolated. The fixed parameters are related to dual porosity, permeability and telegraphic effects (\(\omega \), \(\lambda \) and \(\tau \), respectively). On the other hand, the varied parameters are those linked to fractality, such as \(d_\mathrm{bb}\), \(d_\mathrm{de}\), and \(\theta \). In the first column on the right side of Tables 1 and 2, we list the figures where comparison of semi-numerical and semi-analytical dimensionless head (\(h_{2}\)) and flow (Q) is plotted. Due to the fact that short-time measurements in the applications considered in this manuscript (pressure tests) are usually not relevant, we choose the discretization values so that the oscillating behavior appears at short times, see Fig. 1. In this way, we use \(M=10^{4}\) nodes in the spatial discretization and \(N_{p}=12\) terms for the Laplace parameter in the Stehfest series during numerical inversion. The semi-numerical and semi-analytic solutions were implemented and tested in FORTRAN 90. Semi-analytic solutions were generated by numerically inverting Eq. (31) with the appropriate boundary conditions, using the same number of parameters in the Stehfest series as in the semi-numerical case.

Fig. 1
figure 1

(Color online) Effect of the discretization parameter M, i.e., \(\Delta \xi \) on the semi-numerical solutions for constant hydraulic head at the wellbore and parameters: \(d_\mathrm{bb}=d_\mathrm{de}=d=2\), \(\omega =0.01\), \(\lambda =1.0e-05\), and \(\tau =100\)

In the following figures, the semi-analytical solutions are denoted by dashed red curves, whereas semi-numerical solutions are shown as continuous blue lines.In Fig. 2, the effects of some model parameters over dimensionless head and flow are depicted. The semi-numerical case with semi-analytic solutions is compared for constant head at the wellbore in Fig. 2b, d, f, so the dimensionless flow is depicted; meanwhile, for asymptotically constant flow rate, in Fig. 2a, c, e the dimensionless hydraulic head is plotted. It is worth emphasizing that the dimensionless backbone head increases with time owing to the way it was defined [see Eq. 11 in Hernández et al. (2013)]. The simulations carried out correspond to drawdown tests subject to constant production rate. Qualitatively, the general behavior is well described by the semi-numerical solution. Nonetheless, the head and flow are slightly overestimated in most cases. Such discrepancies are larger for flow, while the head differs only for long times. Observe that a maximum flow rate is reached for almost all the cases presented, which is significantly affected by the relaxation time \(\tau \) and the storativity ratio \(\omega \). In a general sense, the change of parameters has significant effects on the model solution, and such effects are well captured by the semi-numerical procedure; therefore, the LTFD method can be reliably used for further applications. As mentioned by Hernández and coworkers, there is a time scale at which the reservoir begins to behave as an homogeneous one, this time can be elucidated when the governing equation for \(h_2\), Eq. (2), is decoupled from the matrix head. In both Euclidean and fractal cases, and mainly because the well is located at \(r=1\), such a time is \(\tau =t_h = (1-\omega )/\lambda \). \(t_h\) can be easily observed as the inflection points for curves plotted in Fig. 2. These are \(t_h =\) 200, 600, and 900 for Fig. 2a, b, \(t_h =\), \(9\times 10^4\), and \(9\times 10^8\) for Fig. 2c, d, and \(t_h =\) 900 for Fig. 2e, f.

Fig. 2
figure 2

(Color online) Validated cases for the telegraphic Euclidean dual-porosity system (\(d_\mathrm{bb}=d_\mathrm{de}=2\) and \(\theta = 0\)). Comparison between semi-numerical (continuous blue line) and semi-analytic solutions (dashed red line) for dimensionless head (a), (c), and (e), and flow (b), (d) and (f). The inner boundary at the wellbore was subjected to constant head and a constant head gradient. A zero-flux condition was imposed at the outer boundary for each case

Fig. 3
figure 3

(Color online) Validation cases for a telegraphic fractal single-porosity system (\(\lambda =0\) and \(\omega =1\)) . Comparison between semi-numerical (continuous blue line) and semi-analytic solutions (dashed red line) for dimensionless head (a) and (c), and for flow (b) and (d). The inner boundary at the wellbore was subjected to constant head and asymptotically constant flow. A zero-flux condition was imposed at the outer boundary

The validated cases for telegraphic fractal single-porosity reservoirs are presented in Fig. 3. The dimensionless head behavior for asymptotically constant flow at the wellbore is plotted in Fig. 3a, c, whereas the dimensionless flow for constant head at the same point is presented in Fig. 3b, d. The effects of the fractal model parameters, \(\theta \) and \(d_\mathrm{bb}\), are exhibited therein. Once again, from a quantitative point of view, the semi-numerical and semi-analytical solutions match for almost all the cases analyzed. Nevertheless, small differences between solutions appear; these are mainly for flow, where the semi-numerical method slightly overestimates relative to semi-analytic results. We must stress that short-term behavior is more complicated to reproduce than long-term dynamic behavior, just as shown in Fig. 1 where the effect of the discretzation parameter, M, is depicted. This can be explained by the manner in which time is treated in the methodology, mainly in the numerical inversion of model solutions from the Laplace domain. As it is indicated in Eq. (26), a singularity appears in the Laplace domain as \(t\rightarrow 0\). If the short-term behavior is of interest, an asymptotic solution may be derived from Eq. (14) by considering the limit \(t\rightarrow 0\), which in Laplace space implies \(s\rightarrow \infty \); however, this is out of the scope of this work. Observe that unstable solutions are more evident when \(d_\mathrm{bb} = 1.5\), \(\theta = 0.1\), and \(\tau = 10\). Comparing results plotted in Figs. 2 and 3, one can conclude that the LTFD method is more suitable at any time for heterogeneous reservoirs where contributions of fluid from the matrix to the backbone network take place. For single-porosity reservoirs, one can exploit the capabilities of the LTFD method to model long-time behavior for flow and head.

Fig. 4
figure 4

(Color online) Cases for a telegraphic fractal dual-porosity system. Here, the dimensionless head at the wellbore is plotted in (b), (d), and (f) for asymptotically constant flow rate at the inner boundary and zero flux at the external boundary. Meanwhile, the dimensionless flow for constant head at the wellbore and zero flux at the outer boundary is presented in (a), (c), and (e)

Now, we focus on the situation where solutions of the general model are not feasible either analytically or semi-analytically. Such cases were solved using the semi-numeric LTFD method, and some model solutions are plotted in Fig. 4. In our investigation, we varied the fractal parameters in order to explore their effects on flow performance and pay special attention to the physical meaning. Possible interconnections of fractal parameters were left aside as the main aim of this work is to present semi-numerical solutions. A deeper investigation of the dynamics of fractal non-Fickian reservoirs will be carried out in future, where physical connections between fractal parameters and rock fabric will be determined. Specially, the LTFD method will be applied to characterize highly heterogeneous aquifers, geothermal, and oil reservoirs.

Results plotted in Fig. 4 exhibit characteristic regimes of dual-porosity models: short-, middle-, and long-term behaviors. As demonstrated above, for short times, small oscillations are observed in Fig. 4a, b, e, f, especially when the backbone fractal dimension and the permeability exponent differ from the Euclidean values, \(\theta =0\) and \(d_\mathrm{bb} =2\), respectively. As a matter of fact, the parameters \(d_\mathrm{bb}\) and \(\theta \) have dominant effects over the head and flow in comparison with the dead-end fractal dimension \(d_\mathrm{de}\). An increase of \( \theta \) has the same effect as an equivalent decrease of \(d_\mathrm{bb}\). This can be inferred from comparison between Fig. 4a, b, f, e. Results plotted in Fig. 4a, b correspond to the flow regime lying between linear and radial dimensions (see the values of \(d_\mathrm{bb}\) and \(d_\mathrm{de}\)) and for moderate backbone-dead-end interactions (see the values of \(\omega \) and \(\lambda \)). At this point, it is worth recalling that \(\theta \) quantifies effective connections in the backbone fracture network, where larger values indicate poor connectivity leading to smaller flow rate, as depicted in Fig. 4a. This effect is also verified for substantial increments of the dimensionless head in Fig. 4b, suggesting that it decreases significantly. Meanwhile, results plotted in Fig. 4c, d indicate that fluid production is enhanced from the onset of homogeneous behavior, \(t_h\), when \(d_\mathrm{de}\) increases. This effect is more noticeable in the case of the backbone fractal dimension. This phenomenon is explained, in part, by the fact that, in our simulations, there is little fluid exchanged between the backbone and dead-end networks; therefore, the main contribution to the flow rate comes from the backbone network. Summarizing, it is concluded that the closer the fractal dimension of dead-end and backbone structures are to the Euclidean dimension, the better the rate improvement obtained, while the opposite holds when the connectivity index, \(\theta \), approaches unity.

5 Conclusions

In this paper, we have implemented a semi-numerical method to solve a fractal telegraphic dual-porosity fluid flow model whose coupled solution is not feasible to obtain semi-analytically. The transient part was handled using the Laplace transform technique, while spatial derivatives were discretized using central finite differences. Thus, step time constrictions are avoided as no discretization is required, and the space discretization fulfills the mass conservation without compromising numerical stability. As inversion from the Laplace domain to dimensionless time is not possible analytically, the Stehfest algorithm was used to compute the time evolution of flow rate and hydraulic head. Our approach was validated for analytically solvable cases, and good agreement was observed. It was found that larger values of fractal dimensions of dead-end and backbone networks improve the flow rate while the connectivity index diminishes the flow rate as it approaches unity. The capability of the methodology presented here encourages its application to characterizing fractured water, geothermal, and petroleum reservoirs.