1 Introduction

Consider the linear 2D reaction-diffusion problem of finding \(u\in C(\bar{\varOmega })\cap C^2(\varOmega )\) such that

$$\begin{aligned} \mathcal {L}u {:}{=} - \varepsilon ^2 \triangle u +r u= f \ \ \text {in} \ \varOmega {:}{=}(0,1)^2, \quad u=0 \ \ \text {on} \ \partial \varOmega , \end{aligned}$$
(1)

where \(\varepsilon \in (0,1]\), \(f,r\in C(\varOmega )\) and \(r\ge \varrho ^2\) in \(\varOmega \) with some positive constant \(\varrho \). Under these conditions, problem (1) possesses a unique solution (Roos et al. 2008). If the parameter \(\varepsilon \) is small, then the problem becomes singularly perturbed and its solution exhibits sharp boundary layers of width \(\mathcal {O}\left( \varepsilon \ln (1/\varepsilon )\right) \) along the boundary of \(\varOmega \).

There are various techniques to discretise problems like (1): finite differences, finite volumes, finite element methods of different flavours and collocation methods. In the present paper, we shall focus on the latter. For collocation methods, much fewer results are available in the literature for the singularly perturbed regime.

We discretise (1) on arbitrary tensor product meshes by seeking a biquadratic \(C^1\)-spline that satisfies the boundary conditions and differential equation (1) in certain points. For problems that are not singularly perturbed, i.e., when \(\varepsilon =1\), it is well-known that the best choice of the collocation points for collocation with biquadratic \(C^1\)-splines are the midpoints of the partition, see (Christara 1994). Our main interest is in computable a posteriori error bounds for the collocation method in the maximum norm. This norm is sufficiently strong to capture the layers present in the solution of (1).

There is a vast literature dealing with a posteriori error estimation for classical, i.e., not singularly perturbed problems; see, e.g., the monographs (Ainsworth and Oden 2000) and (Verfürth 2013). Most results are for \(L_2\)-type norms typical for finite element methods. In contrast, we shall be concerned with the maximum norm. The crucial issue when analysing methods for singularly perturbed problems is to carefully monitor any dependence of constants on the perturbation parameter \(\varepsilon \). There are very few papers that address this issue satisfactorily. Kopteva (2008) considers central differencing on tensor-product meshes for (1), while its three-dimensional equivalent was analysed by Chadha and Kopteva (2011). Demlow (Kopteva 2015) and (Demlow and Kopteva 2016) consider finite element discretisations of (1).

In the present paper, we generalise the technique developed in Linß et al. (2012), Linß and Radojev (2016) for collocation methods in one dimension to the two dimensional reaction-diffusion problem (1). In doing so, we employ bounds for the Green’s function associated with the differential operator \(\mathcal {L}\) that were derived in Kopteva (2008).

The paper is organised as follows. In Section 2, we summarise properties of the solution of (1) and of the Green’s function associated with the differential operator \(\mathcal {L}\). In Section 3, we describe the collocation with biquadratic \(C^1\)-splines and derived a posteriori error bounds for the method. There our main result (Theorem 1) is given and proven. Section 4 contains results of numerical experiments that illustrate our theoretical findings. We finish the paper with some concluding remarks in Sect. 5.

Notation. Throughout the paper, C will denote a generic positive constant that is independent of the mesh and perturbation parameter \(\varepsilon \).

For any set D and any function \(v:D\rightarrow \mathbb {R}\), we use the \(L_\infty \) and \(L_1\) norms

$$\begin{aligned} \left\| v\right\| _{\infty ,D} {:}{=}\, {\mathop {\hbox {ess sup}}\limits _{x\in D}}\left| v(x)\right| \quad \text {and} \quad \left\| v\right\| _{1,D} {:}{=} \int _D \left| v\right| (x)\mathrm {\, d}x. \end{aligned}$$

If \(D=\varOmega \) then we drop the subscript \(\varOmega \) from the notation. Furthermore, for functions \(v\in W^{1,1}(\varOmega )\) we set \( \left| v\right| _{1,1} {:}{=} \left\| v_x\right\| _{1}+\left\| v_y\right\| _{1}\).

2 Analytical properties of the boundary-value problem

In this section, we summarise fundamental results for the differential operator \(\mathcal {L}\) and for the layer-behaviour of the solution of (1). Bounds for the \(L_1\)-norm of the Green’s function and its derivatives are fundamental in our a posteriori error analysis in §3.2.

2.1 The Green’s function

Let \(\mathcal {G}=\mathcal {G}(x,y;\xi ,\eta )\) denote the Green’s function associated with the differential operator \(\mathcal {L}\). For fixed \((x,y) \in \varOmega \), it solves as a function \(\varGamma {:}{=}\mathcal {G}(x,y;\varvec{\cdot },\varvec{\cdot })\) of its third and fourth argument the boundary-value problem

$$\begin{aligned} \mathcal {L}\varGamma = - \varepsilon ^2 \triangle \varGamma + r\varGamma = \delta (x-\varvec{\cdot })\delta (y-\varvec{\cdot }) \ \ \text {in} \ \varOmega , \quad \varGamma = 0 \ \ \text {on} \ \partial \varOmega , \end{aligned}$$

where \(\delta (\varvec{\cdot })\) is the one-dimensional Dirac \(\delta \)-distribution.

With the help of the Green’s function, any function \(w\in W^{2,1}(\varOmega )\) that vanishes on the boundary \(\partial \varOmega \) can be represented as

$$\begin{aligned} w(x,y) = \int _\varOmega \bigl (\mathcal {L}w\bigr )(\xi ,\eta )\varGamma (\xi ,\eta ) \mathrm {\, d}\xi \mathrm {\, d}\eta , \quad (x,y) \in \varOmega . \end{aligned}$$
(2)

We shall use this representation with w replaced by the difference between the exact solution and its numerical approximation when deriving our a posteriori error bound in §3.2. To this end, we shall avail of the following \(L_1\)-norm bounds for \(\varGamma \) and its first-order partial derivatives from Kopteva (2008): there exist constants \(C_1,C_2\in \mathbb {R}\) that are independent of \(\varepsilon \) such that

$$\begin{aligned} \left\| \varGamma \right\| _{1}\le C_1 \quad \text {and}\quad \left| \varGamma \right| _{1,1}\le C_2 \varepsilon ^{-1}\,. \end{aligned}$$
(3)

2.2 Layer structure

The solution of (1) exhibits exponential layers along the boundaries of the domain \(\varOmega \). They essentially behave like \(\mathrm {e}^{-\varrho d(\varvec{x},\partial \varOmega )/\varepsilon }\), where \(d(\varvec{x},\partial \varOmega )\) is the Euclidean distance of the point \(\varvec{x}=(x,y)\) from the boundary \(\partial \varOmega \).

More precisely, we have the following bounds for the solution u and its partial derivatives:

$$\begin{aligned} \left| \frac{\partial ^k u}{\partial x^k}(x,y)\right| \le C \left\{ 1 + \varepsilon ^{-k} \mathrm {e}^{-\varrho x/\varepsilon } + \varepsilon ^{-k} \mathrm {e}^{-\varrho (1-x)/\varepsilon } \right\} , \quad k=0,1,\dots ,k_{\max }, \end{aligned}$$

with analogous bound for \(\frac{\partial ^k u}{\partial y^k}\). The maximal order \(k_{\max }\) depends on the smoothness of the data and certain compatibility conditions, see (Kellogg et al. 2008) for details.

3 Collocation with biquadratic \(C^1\)-splines

3.1 Construction of the approximation

We shall seek an approximation to the solution of (1) in form of a biquadratic \(C^1\)-spline that satisfies the differential equation in certain points.

Let

$$\begin{aligned} \varDelta _x:0=x_0< x_1<\ldots< x_N=1 \quad \text {and} \quad \varDelta _y:0=y_0<y_1< \ldots < y_M=1, \end{aligned}$$

be two arbitrary partitions of the interval [0, 1] with mesh sizes \(h_i{:}{=} x_i-x_{i-1}\), \(i = 1,\ldots , N\) and \(k_j{:}{=} y_j-y_{j-1}\), \(j=1,\ldots , M\), respectively. Furthermore, let \(\varOmega _{ij}{:}{=} (x_{i-1},x_i)\times (y_{j-1},y_j)\) and \(\varDelta {:}{=} \varDelta _x\times \varDelta _y\). We set

$$\begin{aligned} x_{i-\sigma }&{:}{=}&\sigma x_{i-1} + (1-\sigma )x_i, \ \ \ i=1,\dots ,N, \ \ \sigma \in [0,1], \\ y_{j-\kappa }&{:}{=}&\kappa y_{j-1} + (1-\kappa )y_j, \ \ \ j=1,\dots ,M, \ \ \kappa \in [0,1]. \end{aligned}$$

For any function \(\varphi \in C(\bar{\varOmega })\), we use the notation \(\varphi _{i-\sigma ,j-\kappa } {:}{=} \varphi \left( x_{i-\sigma }, y_{j-\kappa }\right) \).

We denote by \(\mathbb {P}_{2,\varDelta _x}\) and \(\mathbb {P}_{2,\varDelta _y}\) the spaces of piecewise quadratic polynomials with respect to the partitions \(\varDelta _x\) and \(\varDelta _y\), respectively, and by \(\mathbb {P}_{2,\varDelta }{:}{=} \mathbb {P}_{2,\varDelta _x} \otimes \mathbb {P}_{2,\varDelta _y}\) the space of piecewise biquadratic polynomials with respect to the partition \(\varDelta \). With this notation, we can introduce our ansatz space for the discretisation of (1):

$$\begin{aligned} \mathcal {S}^1_{2,\varDelta ,0} {:}{=} \Bigl \{ v \in C^1(\bar{\varOmega }) \cap \mathbb {P}_{2,\varDelta } :v\vert _{\partial \varOmega } = 0\Bigr \}. \end{aligned}$$

This is the space of piecewise biquadratic \(C^1\)-splines with respect to the partition \(\varDelta \) of \(\bar{\varOmega }\) that vanish on the boundary of \(\varOmega \). Its dimension is NM.

Our collocation method is as follows: Find an approximation \(u_\varDelta \in \mathcal {S}^1_{2,\varDelta ,0}\) such that

$$\begin{aligned} \bigl (\mathcal {L} u_\varDelta \bigr )_{i-1/2,j-1/2} = f_{i-1/2,j-1/2}, \quad i=1,\dots ,N, \ \ j=1,\dots ,M. \end{aligned}$$
(4)

This forms a system of NM linear equations that define \(u_\varDelta \) uniquely. At this point, we will not elaborate on computational aspects. An implementation based on products of one-dimensional quadratic B-splines results in a block-tridiagonal linear system with tridiagonal blocks.

3.2 A posteriori error estimate

Let \((x,y) \in \varOmega \) be arbitrary, but fixed, and let \(\varGamma {:}{=} \mathcal {G}(x,y;\varvec{\cdot },\varvec{\cdot })\). Then, the error of the collocation method in the point (xy) can be written using (2) with \(w{:}{=} u-u_\varDelta \) as

$$\begin{aligned} (u-u_\varDelta )(x,y)=\int _\varOmega \mathcal {L}(u-u_\varDelta )\varGamma =\int _\varOmega (f-\mathcal {L}u_\varDelta )\varGamma . \end{aligned}$$
(5)

In our a posteriori error estimate, we shall use a certain interpolant of the function \(q{:}{=} r u_\varDelta -f-\varepsilon ^2\triangle u_\varDelta \). Note, that \(q\not \in C(\bar{\varOmega })\) because \(u_\varDelta \in C^1(\bar{\varOmega })\) and \(\triangle u_\varDelta \) will in general have discontinuities along the edges of the mesh rectangles \(\varOmega _{ij}\). However, for all \(i=1,\dots ,N\) and \(j=1,\dots ,M\), we have \(q\in C(\varOmega _{ij})\) and there exists a well-defined function \(q^{ij}\in C(\bar{\varOmega }_{ij})\) such that \(q^{ij}\equiv q\) on \(\varOmega _{ij}\).Footnote 1

Next, we define a (discontinuous) biquadratic spline \(I^{bq}q\) that interpolates q. To this end, let \(I^{ij}q\) be that biquadratic function that coincides with \(q^{ij}\) at the corners of \(\varOmega _{ij}\), at its midpoint and at the midpoints of its edges, i.e.,

$$\begin{aligned} \bigl (I^{ij}q\bigr )_{i-\mu /2,j-\nu /2} = q^{ij}_{i-\mu /2,j-\nu /2}, \quad \mu ,\nu =0,1,2. \end{aligned}$$
(6)

Then, we set

$$\begin{aligned} I^{bq}q {:}{=} I^{ij}q \quad \text {on} \ \ \varOmega _{ij}, \ \ i=1,\dots ,N, \ \ j=1,\dots ,M. \end{aligned}$$

In the statement of our main result, we shall make use of the following standard difference operators. For any \(v\in C(\bar{\varOmega }_{ij})\), we set

$$\begin{aligned} \begin{array}{ll} \left[ D_x^- v\right] _{i-1/2,\varvec{\cdot }} {:}{=} \frac{v_{i-1/2,\varvec{\cdot }}-v_{i-1,\varvec{\cdot }}}{h_i/2}, \ \ &{} \left[ D_x^+ v\right] _{i-1/2,\varvec{\cdot }} {:}{=} \frac{v_{i,\varvec{\cdot }}-v_{i-1/2,\varvec{\cdot }}}{h_i/2}, \\ \left[ D_y^-v\right] _{\varvec{\cdot },j-1/2} {:}{=} \frac{v_{\varvec{\cdot },j-1/2}-v_{\varvec{\cdot },j-1}}{k_j/2}, \ \ &{} \left[ D_y^+ v\right] _{\varvec{\cdot },j-1/2} {:}{=} \frac{v_{\varvec{\cdot },j}-v_{\varvec{\cdot },j-1/2}}{k_j/2}, \\ \left[ D_x^0 v\right] _{i-1/2,\varvec{\cdot }} {:}{=} \frac{v_{i,\varvec{\cdot }}-v_{i-1,\varvec{\cdot }}}{h_i}, \ \ &{} \left[ D_y^0 v\right] _{\varvec{\cdot },j-1/2} {:}{=} \frac{v_{\varvec{\cdot },j}-v_{\varvec{\cdot },j-1}}{k_j}, \\ \left[ \delta _{xx}v\right] _{i-1/2,\varvec{\cdot }} {:}{=} \frac{\left[ D_x^+v - D_x^-v\right] _{i-1/2,\varvec{\cdot }}}{h_i/2}, \ \ &{} \left[ \delta _{yy}v\right] _{\varvec{\cdot },j-1/2} {:}{=} \frac{\left[ D_y^+v - D_y^-v\right] _{\varvec{\cdot },j-1/2}}{k_j/2}. \end{array} \end{aligned}$$

Theorem 1

Let u be the solution of (1) and \(u_\varDelta \) its approximation by the biquadratic spline collocation method (4) on an arbitrary mesh \(\varDelta \). Then,

$$\begin{aligned} \left\| u-u_{\varDelta }\right\| _\infty \le C \eta (q,\varDelta ) \end{aligned}$$
(7)

where \(q{:}{=} r u_\varDelta -f-\varepsilon ^2\triangle u_\varDelta \) and

$$\begin{aligned} \eta (q,\varDelta ) {:}{=} \eta ^I(q,\varDelta ) +\sum _{i=1}^3\Bigl (\eta _{ix}(q,\varDelta ) +\eta _{iy}(q,\varDelta )\Bigr )+\eta _4 (q,\varDelta )+ \eta _5 (q,\varDelta ), \end{aligned}$$

with

and

$$\begin{aligned} \eta _5(q,\varDelta ) {:}{=} \frac{1}{2}\max _{\begin{array}{c} i=1,...,N\\ j=1,...,M \end{array}} \min \left\{ h_i k_j,\frac{h_i^2 k_j}{4\varepsilon },\frac{h_i k_j^2}{4\varepsilon } \right\} \left| \left[ D_y^0 D_x^0 q\right] _{i-1/2,j-1/2}\right| . \end{aligned}$$

Remark 1

The term \(\eta ^I\) captures the data oscillations and requires sampling. For example, one can compute the difference \(I^{bq}q-q\) at certain points in each \(\varOmega _{ij}\) to estimate \(\left\| I^{bq}q-q\right\| _{\infty ,\varOmega }\).

Proof

From the representation (5), we have

$$\begin{aligned} (u-u_\varDelta )(x,y) = \int _{\varOmega } \left( I^{bq}q-q\right) \varGamma - \int _{\varOmega } I^{bq}q \varGamma . \end{aligned}$$
(8)

The first integral can be bounded by applying Hölder’s inequality:

$$\begin{aligned} \left| \int _{\varOmega } \left( I^{bq}q-q\right) \varGamma \right| \le \left\| I^{bq}q-q\right\| _{\infty ,\varOmega } \left\| \varGamma \right\| _{1,\varOmega } = \eta ^I(q,\varDelta ). \end{aligned}$$
(9)

The second integral in (8) requires a more elaborate argument. On each mesh rectangle \(\varOmega _{ij}\), we shall use the following representation of \(I^{bq}q\):

$$\begin{aligned} \left( I^{bq}q\right) (\xi ,\eta )&= \varphi _i(\xi )R_{ij}(\xi )+\psi _j(\eta )S_{ij}(\eta ) \nonumber \\&\quad +\frac{\varphi _i(\xi )^2 \psi _j(\eta )}{2} \left[ D_y^0\delta _{xx}q \right] _{i-1/2,j-1/2}\nonumber \\&\quad +\frac{\varphi _i(\xi ) \psi _j(\eta )^2}{2} \left[ D_x^0\delta _{yy}q\right] _{i-1/2,j-1/2}\nonumber \\&\quad +\frac{\varphi _i(\xi )^2 \psi _j(\eta )^2}{4} \left[ \delta _{xx}\delta _{yy} q\right] _{i-1/2,j-1/2}\nonumber \\&\quad +\varphi _i(\xi )\psi _j(\eta ) \left[ D_x^0 D_y^0 q\right] _{i-1/2,j-1/2}, \end{aligned}$$
(10)

where \(\varphi _i(\xi ){:}{=} \xi -x_{i-1/2}\), \(\psi _j(\eta ){:}{=} \eta -y_{j-1/2}\),

$$\begin{aligned} R_{ij}(\xi )&{:}{=} \left[ D_x^0 q\right] _{i-1/2,j-1/2} + \frac{\xi -x_{i-1/2}}{2} \left[ \delta _{xx} q\right] _{i-1/2,j-1/2} \end{aligned}$$

and

$$\begin{aligned} S_{ij}(\eta )&{:}{=} \left[ D_y^0 q\right] _{i-1/2,j-1/2} + \frac{\eta -y_{j-1/2}}{2} \left[ \delta _{yy} q\right] _{i-1/2,j-1/2}. \end{aligned}$$

This representation can be verified by checking the interpolation conditions (6) and noting that \(q_{i-1/2,j-1/2}=0\), by (4).

Next, we split the second term in (8) as follows:

$$\begin{aligned} \int _{\varOmega } I^{bq}q \varGamma = \sum _{i=1}^N \sum _{j=1}^M \left\{ J^{bq}_{1x,ij} + J^{bq}_{1y,ij} + J^{bq}_{3x,ij} + J^{bq}_{3y,ij} + J^{bq}_{4,ij} + J^{bq}_{5,ij} \right\} \end{aligned}$$
(11)

with

$$\begin{aligned} J^{bq}_{1x,ij}&{:}{=} \int _{y_{j-1}}^{y_j}\int _{x_{i-1}}^{x_i}\varphi _i(\xi )R_{ij}(\xi )\varGamma (\xi ,\eta ) \mathrm {\, d}\xi \mathrm {\, d}\eta , \\ J^{bq}_{1y,ij}&{:}{=} \int _{y_{j-1}}^{y_j}\int _{x_{i-1}}^{x_i}\psi _j(\eta )S_{ij}(\eta )\varGamma (\xi ,\eta ) \mathrm {\, d}\xi \mathrm {\, d}\eta , \\ J^{bq}_{3x,ij}&{:}{=} \int _{y_{j-1}}^{y_j}\int _{x_{i-1}}^{x_i}\frac{\varphi _i(\xi )^2 \psi _j(\eta )}{2}\varGamma (\xi ,\eta ) \mathrm {\, d}\xi \mathrm {\, d}\eta \left[ D_y^0\delta _{xx}q \right] _{i-1/2,j-1/2},\\ J^{bq}_{3y,ij}&{:}{=} \int _{y_{j-1}}^{y_j}\int _{x_{i-1}}^{x_i}\frac{\varphi _i(\xi ) \psi _j(\eta )^2}{2}\varGamma (\xi ,\eta ) \mathrm {\, d}\xi \mathrm {\, d}\eta \left[ D_x^0\delta _{yy}q\right] _{i-1/2,j-1/2}, \\ J^{bq}_{4,ij}&{:}{=} \int _{y_{j-1}}^{y_j}\int _{x_{i-1}}^{x_i}\frac{\varphi _i(\xi )^2 \psi _j(\eta )^2}{4}\varGamma (\xi ,\eta ) \mathrm {\, d}\xi \mathrm {\, d}\eta \left[ \delta _{xx}\delta _{yy} q\right] _{i-1/2,j-1/2}, \end{aligned}$$

and

$$\begin{aligned} J^{bq}_{5,ij}&{:}{=} \int _{y_{j-1}}^{y_j}\int _{x_{i-1}}^{x_i}\varphi _i(\xi )\psi _j(\eta )\varGamma (\xi ,\eta ) \mathrm {\, d}\xi \mathrm {\, d}\eta \left[ D_x^0 D_y^0 q\right] _{i-1/2,j-1/2}. \end{aligned}$$

We analyse these six terms separately.

(i) For \(J_{1x,ij}\) the Hölder inequality yields the estimate

$$\begin{aligned} \left| J_{1x,ij}\right| \le \dfrac{h_i}{2} \left\| R_{ij}\right\| _{\infty ,[x_{i-1},x_i]} \int _{\varOmega _{ij}}\left| \varGamma \right| . \end{aligned}$$
(12)

Next, set \(\varPhi _i(\xi ){:}{=} \frac{1}{2}\left( \xi -x_i\right) \left( \xi -x_{i-1}\right) \) and note that \(\varPhi '_i=\varphi _i\). Consequently, integration by parts yields

$$\begin{aligned} J_{1x,ij}&= - \int _{y_{j-1}}^{y_j}\int _{x_{i-1}}^{x_i}\varPhi _i(\xi )\left( R_{ij}(\xi )\varGamma _{\xi }(\xi ,\eta ) + R_{ij}'(\xi )\varGamma (\xi ,\eta ) \right) \mathrm {\, d}\xi \mathrm {\, d}\eta . \end{aligned}$$

This implies

$$\begin{aligned} \left| J_{1x,ij}\right| \le \frac{h_i^2}{8} \left( \left\| R_{ij}\right\| _{\infty ,[x_{i-1},x_i]} \int _{\varOmega _{ij}} \left| \varGamma _\xi \right| + \left\| R_{ij}'\right\| _{\infty ,[x_{i-1},x_i]} \int _{\varOmega _{ij}} \left| \varGamma \right| \right) . \end{aligned}$$
(13)

Combining (12) and (13), we obtain

$$\begin{aligned} \left| J_{1x,ij}\right|&\le \frac{h_i}{2}\left\| R_{ij}\right\| _{\infty ,[x_{i-1},x_i]} \min \left\{ C_1,\dfrac{C_2 h_i}{4\varepsilon }\right\} \biggl (\frac{1}{C_1}\int _{\varOmega _{ij}}\left| \varGamma \right| +\frac{\varepsilon }{C_2}\int _{\varOmega _{ij}} \left| \varGamma _{\xi }\right| \biggr ) \\&\quad +\frac{h_i^2}{8}\left\| R_{ij}'\right\| _{\infty ,[x_{i-1},x_i]} \int _{\varOmega _{ij}}\left| \varGamma \right| . \end{aligned}$$

Note that \(R_{ij}\) attains its extrema in the end points of the interval \([x_{i-1},x_i]\). Thus,

$$\begin{aligned} \left\| R_{ij}\right\| _{\infty ,[x_{i-1},x_i]} = \max \left\{ \left| \left[ D_x^+q\right] _{i-1/2,j-1/2}\right| , \left| \left[ D_x^-q\right] _{i-1/2,j-1/2}\right| \right\} . \end{aligned}$$

Furthermore

$$\begin{aligned} \left\| R_{ij}'\right\| _{\infty ,[x_{i-1},x_i]} = \frac{1}{2} \left| \left[ \delta _{xx}q\right] _{i-1,j-1/2}\right| . \end{aligned}$$

Next, summing \(\left| J_{1x,ij}\right| \) for \(i=1,2,\dots ,N\) and \(j=1,2,\dots ,M\), we obtain the bound with the help of the Hölder inequality

$$\begin{aligned}&\sum _{i=1}^N \sum _{j=1}^M \left| J_{1x,ij}\right| \\&\quad \le \max _{\begin{array}{c} i=1,...,N\\ j=1,...,M \end{array}}\frac{h_i^2}{16} \left| \left[ \delta _{xx} q\right] _{i-1/2,j-1/2}\right| \left\| \varGamma \right\| _{1,\varOmega } \\&\qquad + \max _{\begin{array}{c} i=1,...,N\\ j=1,...,M \end{array}} \max \left\{ \left| \left[ D_x^+ q\right] _{i-1/2,j-1/2}\right| , \left| \left[ D_x^- q\right] _{i-1/2,j-1/2}\right| \right\} \\&\qquad \times \min \bigg \{C_1, \dfrac{C_2 h_i}{4\varepsilon }\bigg \} \left( \frac{1}{C_1}\left\| \varGamma \right\| _{1,\varOmega } + \dfrac{\varepsilon }{C_2} \left\| \varGamma _{\xi }\right\| _{1,\varOmega } \right) . \end{aligned}$$

Finally, using the bounds (3) on the Green’s function and its derivatives, we arrive at

$$\begin{aligned} \sum _{i=1}^N \sum _{j=1}^M \left| J_{1x,ij}\right| \le C \left( \eta _{1x}(q,\varDelta )+\eta _{2x}(q,\varDelta )\right) . \end{aligned}$$
(14)

Similarly, we obtain

$$\begin{aligned} \sum _{i=1}^N \sum _{j=1}^M \left| J_{1y,ij}\right| \le C \left( \eta _{1y}(q,\varDelta )+\eta _{2y}(q,\varDelta )\right) . \end{aligned}$$
(15)

(ii) Now we turn towards the terms \(J_{3x,ij}\), \(J_{3y,ij}\) and \(J_{4,ij}\). Determining the maxima of \(\varphi _i^2\) and \(\left| \psi _j\right| \) and applying the Hölder inequality again, we get

$$\begin{aligned} \left| J_{3x,ij}\right| \le \frac{1}{16} h_i^2 k_j \left| \left[ D_y^0 \delta _{xx}q\right] _{i-1/2,j-1/2}\right| \int _{\varOmega _{ij}} \left| \varGamma \right| \end{aligned}$$

and

$$\begin{aligned} \left| J_{4,ij}\right| \le \frac{1}{64} h_i^2 k_j^2 \left[ \delta _{xx}\delta _{yy} q\right] _{i-1/2,j-1/2} \int _{\varOmega _{ij}} \left| \varGamma \right| . \end{aligned}$$

Again summing all contributions and employing (3), we get

$$\begin{aligned} \sum _{i=1}^N \sum _{j=1}^M \left| J_{3x,ij}\right| \le C \eta _{3x}(q,\varDelta ) \end{aligned}$$
(16)

and

$$\begin{aligned} \sum _{i=1}^N \sum _{j=1}^M \left| J_{4,ij}\right| \le C \eta _{4}(q,\varDelta ). \end{aligned}$$
(17)

Similarly, we have

$$\begin{aligned} \sum _{i=1}^N \sum _{j=1}^M \left| J_{3y,ij}\right| \le C \eta _{3y}(q,\varDelta ). \end{aligned}$$
(18)

(iii) Finally, we consider \(J_{5,ij}\). An application of the Hölder inequality gives

$$\begin{aligned} \left| J_{5,ij}\right| \le \frac{h_i k_j}{4} \left| \left[ D_x^0 D_y^0 q\right] _{i-1/2,j-1/2}\right| \int _{\varOmega _{ij}}\left| \varGamma \right| . \end{aligned}$$
(19)

An alternative estimate is derived using integration by parts:

$$\begin{aligned} J_{5,ij} = - \left[ D_x^0 D_y^0 q\right] _{i-1/2,j-1/2} \int _{y_{j-1}}^{y_j}\int _{x_{i-1}}^{x_i}\varPhi _i(\xi )\psi _j(\eta ) \varGamma _\xi (\xi ,\eta ) \mathrm {\, d}\xi \mathrm {\, d}\eta . \end{aligned}$$

From this, we obtain

$$\begin{aligned} \left| J_{5,ij}\right| \le \frac{h_i^2 k_j}{16} \left| \left[ D_x^0 D_y^0 q\right] _{i-1/2,j-1/2}\right| \int _{\varOmega _{ij}} \left| \varGamma _{\xi }\right| . \end{aligned}$$

With same technique, but with respect to \(\eta \), we obtain a third estimate

$$\begin{aligned} \left| J_{5,ij}\right| \le \frac{h_i k_j^2}{16} \left| \left[ D_x^0 D_y^0 q\right] _{i-1/2,j-1/2}\right| \int _{\varOmega _{ij}} \left| \varGamma _{\eta }\right| . \end{aligned}$$

Combine the last two inequalities with (19):

$$\begin{aligned} \left| J_{5,ij}\right|&\le \frac{1}{4} \min \bigg \{C_1 h_i k_j,\frac{C_2 h_i^2 k_j}{4\varepsilon }, \frac{C_2 h_i k_j^2}{4\varepsilon }\bigg \} \left| \left[ D_x^0 D_y^0 q\right] _{i-1/2,j-1/2}\right| \\&\quad \times \int _{\varOmega _{ij}}\left( \frac{1}{C_1}\left| \varGamma \right| +\frac{\varepsilon }{C_2}\left( \left| \varGamma _{\xi }\right| +\left| \varGamma _{\eta }\right| \right) \right) . \end{aligned}$$

We sum for \(i=1,\dots ,N\) and \(j=1,\dots ,M\) and use (3) and get

$$\begin{aligned} \sum _{i=1}^N \sum _{j=1}^M \left| J_{5,ij}\right| \le C \eta _5(q,\varDelta ). \end{aligned}$$
(20)

Finally, apply (14), (15), (16), (17), (18) and (20) to (11) to bound \(\int _{\varOmega }I^{bq}\varGamma \). This bound, together with (8) and (9), yields (7). \(\square \)

Remark 2

Note that \(\triangle u_\varDelta \) is a quadratic function on each \(\varOmega _{ij}\). Therefore, \(I^{bq}q-q=I^{bq}\hat{q}-\hat{q}\), with \(\hat{q}{:}{=} ru-f\), because of the linearity of the interpolation operator \(I^{bq}\). Consequently, the computation of \(\eta ^I\) can be simplified because \(\eta ^I(q,\varDelta ) = \left\| {I^{bq}\hat{q}-\hat{q}}\right\| _{\infty ,\varOmega }\).

4 Numerical experiments

We verify the theoretical results of the preceding section by applying the collocation method to the problem

$$\begin{aligned} - \varepsilon ^2 \triangle u + u = f \ \ \text {in} \ \ \varOmega = (0,1)^2, \ \ u|_{\partial \varOmega }=0, \end{aligned}$$
(21)

where the source term f is chosen such that with

$$\begin{aligned} \varphi (t) {:}{=} 1-\frac{e^{-t/\varepsilon }-e^{-1/\varepsilon }}{1-e^{-1/\varepsilon }} \end{aligned}$$

the exact solution of (21) is given by

$$\begin{aligned} u(x,y)=(1-x) y \varphi (x) \varphi (1-y)+\sin (\pi x)(1-y) \varphi (1-x) \varphi (y). \end{aligned}$$

It is shown in Figure 1 and exhibits typical boundary layers along the sides \(x=1\), \(y=0\) and \(y=1\) of the domain, see §2.2.

Fig. 1
figure 1

Solution of the test problem (21), \(\varepsilon =2^{-6}\)

In our experiments, we have chosen identical meshes in both space dimensions, i.e., \(N=M\) and \(\varDelta _x=\varDelta _y\).

Although the exact solution of our test problem is available, the maximum-norm errors \(\left\| u - u_\varDelta \right\| _\infty \) are difficult to compute. Therefore, we approximate them as follows

$$\begin{aligned} \left\| u - u_\varDelta \right\| _\infty \approx \chi _N {:}{=} \max _{\begin{array}{c} i,j=1,\dots ,N\\ m,n=0,\dots ,K \end{array}} \left| \left( u-u_\varDelta \right) \left( x_{i-m/K},y_{j-n/K}\right) \right| . \end{aligned}$$
(22)

This means that in every mesh rectangle, the errors are sampled at \((K+1)^2\) equidistributed points. In our experiments, we have chosen \(K=7\). The rates of convergence for \(N\rightarrow \infty \) are estimated using the standard formula

$$\begin{aligned} p_N {:}{=} \frac{\ln \chi _N - \ln \chi _{2N}}{\ln 2}. \end{aligned}$$

We use our method on appropriately layer-adapted meshes—namely Shishkin and Bakhvalov meshes—that are constructed by taking tensor product meshes for one-dimensional reaction-diffusion problems, see for example Linß (2010, §2.3.1).

We shall employ Shishkin meshes with two mesh-transition points \(\tau \) and \(1-\tau \) with

$$\begin{aligned} \tau = \min \left\{ \frac{\sigma \varepsilon }{\varrho }\ln N, \frac{1}{4} \right\} , \end{aligned}$$
(23)

and some mesh parameter \(\sigma >0\). The point \(\tau \) has been chosen such that the layer terms \(\mathrm {e}^{-\varrho x/\varepsilon }\) and \(\mathrm {e}^{-\varrho (1-x)/\varepsilon }\) are smaller than \(N^{-\sigma }\) on \([\tau ,1-\tau ]\), see (Kopteva and O’Riordan 2010; Linß 2010). Typically, \(\sigma \) will be chosen equal to the formal order of the method or sufficiently large to accommodate the error analysis. The intervals \([0,\tau ]\) and \([1-\tau ,1]\) are uniformly subdivided into N / 4 subintervals, while \([\tau ,1-\tau ]\) subdivided into N / 2 equidistant subintervals.

Fig. 2
figure 2

Layer-adapted meshes—Shishkin mesh (left) and Bakhvalov mesh (right) with \(N=M=16\), \(\sigma =4\), \(q=1/4\) and \(\varepsilon =10^{-2}\)

Bakhvalov meshes are characterised by two mesh parameters \(q\in \left( 0,1/2\right) \) and \(\sigma >0\). The mesh points are given by \(x_i= \varphi (i/N)\), \(i=0,\dots ,N\), with the mesh generating function \(\varphi \),

$$\begin{aligned} \varphi (t)&{:}{=} t \qquad \text {if} \ \ \varepsilon \ge q\varrho /\sigma , \end{aligned}$$

and otherwise

$$\begin{aligned} \varphi (t)&{:}{=} {\left\{ \begin{array}{ll} \chi (t) {:}{=} -\dfrac{\sigma \varepsilon }{\varrho }\ln \left( 1-\dfrac{t}{q}\right) &{}\quad t \in [0,\tau ],\\ \pi (t) {:}{=} \chi (\tau )+\chi '(\tau )(t-\tau ) &{}\quad t \in [\tau ,0.5], \\ 1-\varphi (1-t) &{}\quad t \in [0.5,1]. \end{array}\right. } \end{aligned}$$

The transition point \(\tau \in (0,1/2)\) is chosen such that \(\varphi \in C^1[0,1]\). It cannot be given explicitly, but an algorithm is proposed in Bakhvalov (1969) that computes \(\tau \) with just a few inexpensive iterations. Figure 2 displays examples of meshes of Shishkin and of Bakhvalov type for (1).

Table 1 A posteriori error estimates for various meshes; problem (21) with \(\varepsilon =10^{-6}\)

Maximum-norm errors of the collocation method on the various meshes applied to our test problem (21) for \(\varepsilon =10^{-6}\) are displayed in Table 1. We consider Shishkin, Bakhvalov and uniform meshes. In each table, the first column gives the value of N. The estimated errors \(\chi _N\) according to (22) and the corresponding rates of convergence \(p_N\) can be found in columns 2 and 3. The following column contains the a posteriori estimates \(\eta _N\) provided by Theorem 1. The last column contains the effectivity indices \(\eta _N/\chi _N\).

For both Shishkin and Bakhvalov meshes, we notice a strong correlation of actual errors and the upper bounds provided by Theorem 1. The errors are overestimated by a factor of approximately 100.

For uniform meshes, no convergence is observed which had to be expected, and the a posteriori error estimator does not decrease with increasing N. Thus, it correctly indicates that uniform refinement is inappropriate for this kind of problem.

Table 2 verifies the robustness of the estimator with respect to the perturbation parameter. We have fixed N and varied \(\varepsilon \). We can see that the efficiency of the error estimator is essentially independent of the perturbation parameter \(\varepsilon \).

Table 2 A posteriori error estimates for Bakhvalov meshes; test problem (21); \(N=2^8\), \(\sigma =4\), \(q=1/4\)

5 Conclusions

Using bounds for the Green’s function of the elliptic operator, we have derived a posterior error estimates for a collocation method based on biquadratic \(C^1\)-splines applied to the singularly perturbed reaction-diffusion (1). The error of the method is bounded in terms of the residual of the approximate solution. Dependencies on the perturbation parameter are carefully tracked and in numerical experiments presented no significant variation with the perturbation parameter has been observed.

There are various paths to be followed when extending our results:

  • Collocation methods are particularly efficient when used with piecewise polynomials of higher order. Therefore, it is desirable to generalise the results in Linß and Radojev (2016) for collocation with splines of arbitrary polynomial degree from one to two and three dimensions.

  • Work on a posteriori error estimators for triquadratic spline collocation in 3D has just been completed, see Radojev and Linß (2018).

  • The ultimate goal of a posteriori error estimation is to devise adaptive algorithms. One obvious approach is to refine the mesh where the local contributions to the error estimator are large. However, because of the tensor-product structure of the mesh, this refinement will not be local. To allow actual local refinement, one needs error estimators for splines on triangular meshes, for example, Clough-Tocher splines. This is under consideration.