Abstract
A finite difference method is constructed to solve singularly perturbed convection-diffusion problems posed on smooth domains. Constraints are imposed on the data so that only regular exponential boundary layers appear in the solution. A domain decomposition method is used, which uses a rectangular grid outside the boundary layer and a Shishkin mesh, aligned to the curvature of the outflow boundary, near the boundary layer. Numerical results are presented to demonstrate the effectiveness of the proposed numerical algorithm.
Similar content being viewed by others
1 Introduction
The numerical solution of singularly perturbed elliptic problems, of convection-diffusion type, posed on smooth domains presents several challenges. In order to generate a pointwise accurate global approximation to the solution using piecewise polynomial basis functions, the grid needs to insert mesh points into the layer regions, where the derivatives of the solution depend inversely on the magnitude of the singular perturbation parameter. To avoid the dimension of the discrete problem depending on the inverse of the singular perturbation parameter, a quasi-uniform discretization of the continuous domain will not suffice [3]. Outside the layer regions one only needs a coarse mesh and within the layers one requires a fine mesh. However, spurious oscillations will appear on a coarse mesh, unless some particular discretization is used to preserve the inverse monotoniticity of the differential operator [2, 5]. Finite element discretizations using triangles are well suited to discretizing domains with smooth geometries; but it is difficult to generate an inverse-monotone system matrix to a singularly perturbed convection-diffusion problem using triangular elements [1, 4]. Upwinded finite difference operators (or finite volumes [15]) can be used to guarantee stability, but it is not easy to work with these constructions over anisotropic meshes posed on a smooth domain.
In addition to these complications, our objective is to design a parameter-uniform numerical method [3], which will be accurate both for the classical case (where the singular perturbation parameter is large) and the singularly perturbed case (where the singular perturbation parameter is very small), and will also deal with all the intermediate values of the singular perturbation parameter. Moreover, given that boundary layers will be present, we are only interested in global approximations that are pointwise accurate at all points in the domain. Hence, although we use a finite difference formulation, our focus is not primarily on the nodal accuracy of the numerical method, but on the global accuracy of the interpolated approximation generated by the numerical algorithm.
The presence of a regular boundary layer [3] near a curved boundary requires a coordinate transformation so that the layer region can be mapped to a rectangular computational region, on which a suitable mesh can be aligned to the direction of steepest descent. In the special case of a domain that is a circle [7] or an annulus [8], this coordinate transformation exists. However, for a general smooth domain, it is difficult to apply such a coordinate transformation across the entire domain. Hence, we need to use a mixture of coordinate systems. In the case of singularly perturbed elliptic problems on smooth domains which are of reaction-diffusion type, mixed coordinate systems have been applied to get energy norm error bounds [16,17,18] or pointwise \(L_\infty \) error bounds [10, 11]. In the case of convection-diffusion problems, the interaction between the outer solution and the boundary layer function is more significant than in the case of reaction-diffusion and the mixing of coordinate systems can be more challenging.
To circumvent the difficulties mentioned above, we employ a domain decomposition algorithm. The domain is first covered with a rectangle to generate an initial approximation to the solution. On this rectangle, we simply use an upwinded finite difference operator on a tensor product of uniform meshes. This classical method will produce an accurate and stable approximation outside of the boundary layers. A correction within the layers is generated across a subdomain that is aligned to the curved outflow boundary of the original domain [16, 17]. Across this subdomain, a coordinate transformation is used and a piecewise-uniform Shishkin mesh [3] is employed in the normal direction to the boundary.
On any closed domain, there will be characteristic points on the boundary, where the tangent to the boundary is parallel to the convective direction, which is associated with the characteristics of the reduced first order problem. In order to establish the theoretical error bound in Theorem 2 below, we impose constraints on the data via three assumptions. The first assumption prevents characteristic boundary layers forming; the second assumption ensures that the solution is sufficiently regular for the numerical analysis within the paper to apply and the final assumption prevents internal layers emerging within the solution. The numerical results in Sect. 4 suggest that these theoretical constraints are excessive, as the numerical method continues to display first order parameter-uniform under significantly weaker constraints. The identification of necessary data constraints to retain the error bound in Theorem 2 remains an open question.
In Sect. 2, the continuous problem is discussed and the solution is decomposed into a regular and a singular component. Pointwise bounds on the derivatives (up to third order) of these components are deduced. In Sect. 3, a numerical method is constructed and an asymptotic error bound is deduced in Theorem 2. Numerical results for three sample problems are presented in the final section.
Notation If D is the domain of some function f and \(D \subset D^*\), then throughout we denote the extension of the function to the larger domain by \(f^*\). In addition, \(f(x,y) = {\tilde{f}} (r,t)\), where (r, t) is a co-ordinate system aligned to the boundary of the domain. Thoughout the paper C denotes a generic constant that is independent of both the singular perturbation parameter \(\varepsilon \) and the discretization parameter N.
2 Continuous Problem
Let \(\Omega \) be a two dimensional domain with a smooth closed boundary \(\partial \Omega \). The origin is located within the domain. As in [11] we introduce a local curvilinear coordinate system associated with the boundary. Let the boundary \(\partial \Omega \) be parameterized by
where \((\phi (0), \psi (0)) = (\phi (T), \psi (T))\). As the variable t increases, the boundary points move in an anti-clockwise direction. At any point on the boundary, the magnitude of the tangent vector \((\phi ', \psi ')\) is denoted by \(\tau (t) \) and the curvature of the boundary by \(\vert \kappa (t) \vert \), which are given by
A curvilinear local coordinate system (r, t) is defined by
Note that \(\vec n = (n_1,n_2)\) is the inward unit normal and
These coordinates are orthogonal in the sense that
In these coordinates , the transformed Laplacian will contain no mixed second order derivative and we have [11, Lemma 2.1]
Consider the singularly perturbed convection-diffusion elliptic problemFootnote 1
We define the inflow boundary \(\partial \Omega _I\) and the outflow boundary \(\partial \Omega _O\) by
If \(\psi '(t_C) =0\) (i.e., \(\vec n=(0,\pm 1)\)), then this will correspond to a characteristic point \((\phi (t_C) ,\psi (t_C))\) on the boundary. To exclude the presence of parabolic boundary layers [3, Chapter 6] and [9, Chap. 4, §1], we assume that there is only a finite number of isolated characteristic points on the boundary. We confine the discussion to characteristic points where the component \(n_1\) changes sign.
Assumption 1
Assume that there is a finite number of characteristic points on the boundary \(\partial \Omega \). Moreover, at each characteristic point \(t=t_C\) assume that there exists a \(\delta >0\) and a neighbourhood \(t_C\in I_C: = (t_0, t _1)\) such that \(\vert \psi '(t_0) \vert = 2\delta = \vert \psi '(t_1) \vert \) and
We identify three subintervals of \(I_C=I^\delta _O\cup I^\delta _C \cup I^\delta _I.\), associated with each characteristic point \((\phi (t_C) ,\psi (t_C))\):
As the domain is closed, there will be at least two distinct characteristic points on the boundary \(\partial \Omega \). If the domain has an internal tangent to the boundary at \(t=t_C\) and \(n_1\) changes sign at this point, then we shall call \((\phi (t_C) ,\psi (t_C))\) an internal characteristic point. Otherwise, if \(n_1\) changes sign at \(t=t_C\), we call \((\phi (t_C) ,\psi (t_C))\) an external characteristic point [9, Chap. 4].
In the local coordinate system, the differential equation transforms into:
Let us partition the domain \(\Omega \) into a finite number of non-overlapping subdomains \(\{ D_i \} _{i=1}^n\) such that
Let \(\frac{\partial u }{\partial n _i}\) denote the outward normal derivative of each subdomain \(D_i\) and define the jump in the normal derivative across an interface \(\Gamma _{i,j}\) to be
Using the usual proof by contradiction argument (with a separate argument for the interfaces \(\Gamma _{i,j}\)) we can establish the following
Theorem 1
If \( w,v \in C^0({{\bar{\Omega }}} ) \cap (\cup _{i=1}^n C^2(D_i ))\) is such that for all i, \( L w (x,y)\ge L v (x,y), \ \forall (x,y) \in D_i\); for all i, j: \( \bigl [ \frac{\partial w }{\partial n} \bigr ] _{\Gamma _{i,j}} \ge \bigl [ \frac{\partial v }{\partial n} \bigr ] _{\Gamma _{i,j}}\) and \( w \ge v\) on the boundary \(\partial \Omega \), then \( w (x,y) \ge v(x,y),\ \forall (x,y) \in {{\bar{\Omega }}}\).
We next assume that the data a, b, f is sufficiently regular and the boundary \(\partial \Omega \) sufficiently smooth so that \(u \in C^{3,\gamma }({\overline{\Omega }}) \). See [6, pg. 94] for definition of smooth domain and boundary. Also see [6, Theorem 6.14] and [6, Theorem 6.19] to justify the following assumption.
Assumption 2
Assume that \(\Omega \) is a \(C^{3,\gamma }\) domain and the data \(a,b, f \in C^{1,\gamma }({{\bar{\Omega }}} )\), so that
As the problem is linear, there is no loss in generality in dealing with homogeneous boundary data. Nevertheless, below we decompose the solution into regular and layer components, which satisfy a singularly perturbed differential equation with inhomogeneous boundary data. Hence, we state a result on a priori bounds on the derivatives of the solution of the more general problem: find z such that
where the data and the boundary \(\partial \Omega \) are sufficiently smooth so that \(z \in C^{3, \gamma }({\bar{\Omega }})\).
Using stretched variables \(\zeta =x/\varepsilon , \tau = y/\varepsilon \) and bounds from [12], one can establish the following result (see the argument in [14, Appendix A] or [13, Theorem 3.2]).
Lemma 1
Assume \(a,b, p \in C^{1, \gamma }({\bar{\Omega }})\) and \( q\in C^{3, \gamma }(\partial {\Omega })\). The solution z of (7) satisfies
and for \(l = 0,1\)
From these bounds, we have the crude bounds on the solution u of (3)
The solution u of problem (3) can be decomposed into the sum \(u=v+w\), where v is a regular component and w is a boundary layer function associated with the outflow boundary. The reduced solution \(v_0\) is defined as the solution of the first order problem
and the first correction \(v_1\) is defined as the solution of
Our next assumption guarantees that only regular boundary layers appear near the outflow boundary.
Assumption 3
At each characteristic point \((x_C,y_C)=(\phi (t_C), \psi (t_C)) \), define the rectangle
Assume that \(a,b, f \in C^{5,\gamma }({\overline{\Omega }})\) and that there exists some \(\delta >0\) such that
Remark 1
At any external characteristic point \(\vec p\), assumption (11) constrains the data in a \(O(\delta ^2)\) neighbourhood of \(\vec p\). If the characteristic point \(\vec p\) is an internal characteristic point, then assumption (11) constrains the data in a \(O(\delta )\) neighbourhood of \(\vec p\).
As \(v_0,v_1\) are solutions of a first order differential equation (either (9) or (10)), it follows from Assumption 3 that
The regular component v is defined as the solution of the problem: Find v such that
Note that, if \(z=v- (v_0+\varepsilon v_1)\), then z satisfies
As in [14, Appendix A] and since Assumption 3 eliminates any regularity difficulties at the characteristic points, we then have \(v_0 \in C^{5, \gamma }({{\bar{\Omega }}} ),\ v_1 \in C^{3, \gamma }({{\bar{\Omega }}} ) \) and \(z \in C^{3, \gamma }({{\bar{\Omega }}} ) \). Using Lemma 1, we deduce that
Hence, we have the following bounds on the regular component
Assumption (11) also prevents any internal characteristic layers emerging from any internal characteristic points.
The boundary layer component w is the solution of the problem: Find w such that
From assumption (6), it follows that for all characteristic points
In other words, the boundary layer function is not only zero on the inflow boundary, but also on those parts of the outflow boundary near the characteristic points.
For some fixed \(R=O(1)\), we define the strip
which is aligned to the outer boundary \(\partial \Omega _O\). The width R of this strip \(\Omega _S\) is further limited in (24). Note that if there are internal characteristic points, then \(\Omega _S\) will not be a connected set. The outer boundary \(\partial \Omega \cap \partial \Omega _S\) of the strip will have characteristic points as end-points. At each of these characteristic points, the strip \(\Omega _S\) will have a vertical boundary of the form \(\{ (x_C,y) \vert \vert y-y_C \vert \le R\}\). If \(R < \delta \) then the boundary layer function \(w\equiv 0\) along these vertical boundaries of \(\Omega _S\), by (6).
In the next lemma, we show that the boundary layer function decreases exponentially in the radial direction as one moves away from the outer boundary. To establish this result, we assume that \(\varepsilon \le \varepsilon _*=O(1)\), where \(\varepsilon _*\) is sufficiently small and depends on the problem data \(f,a,b, \phi , \psi \) and in particular on \(\delta \).
Lemma 2
Assume (4), (6), (11) and \(\varepsilon \le \varepsilon _*=O(1)\) is sufficiently small. If w is the solution of (14) then within the strip \(\Omega _S\) (15),
and exterior to the strip \(\vert w (x,y)\vert \le Ce^{-\frac{\mu \alpha \theta R}{ \varepsilon } }, \quad (x,y) \in \Omega {\setminus } \Omega _S.\)
Proof
Associated with the neighbourhood \(I_C\) (5) of each characteristic point, we construct a cut-off function \(\Psi _C(t;2\delta ) \in C^2[0,T]\) such that
Consider the barrier function
Observe that \(\psi ' (t) \ge \delta , \ \vert \Psi '_C(t) \vert + \vert \Psi ''_C(t) \vert \le C, \ t \in I_0^\delta \) and \(\Psi _C (t) \equiv 0, \ t \in I_C {\setminus } I_O^\delta \). Then, for \(\varepsilon \) sufficiently small and \((r,t) \in \Omega _S\), using the definition of \(\theta \) we have
Observe that \({\tilde{B}} = \Psi _C(t;2\delta )\) on the outer boundary \(\partial \Omega _O\) and \({\tilde{B}} =0 \) on the other three boundaries of the strip. This function \({\tilde{B}}(r,t)\) is currently only defined on the strip \({{\bar{\Omega }}} _S\). We extend this function to \({{\bar{\Omega }}}\) as follows:
such that at the inner boundary \(\partial \Omega _S^-:= \partial \Omega _S \cap \Omega \),
where \(\frac{ \partial B}{\partial n _S} , \frac{ \partial B}{\partial n _O}\) denote, respectively, the normal derivative to \(\Omega _S, \Omega _O\). We define a second barrier function of the form
where \(m_x := \min _{0\le t \le T} \phi (t)\). On the strip, for \(\varepsilon \) sufficiently small,
At the inner boundary of the strip \(\partial \Omega _S^-\), we have
We complete the proof by forming the barrier function
By the design of this barrier function, we see that on the inner boundary
Complete the proof using the inequality
and the comparison principle in Theorem 1. \(\square \)
The crude bounds
on the derivatives of the layer function follow from (8). We can further decompose the boundary layer function within the strip:
By Lemma 2 and the maximum principle, \(\Vert \tilde{w}_1 \Vert _{ \Omega _S} \le Ce^{-\frac{\alpha \mu \theta R}{ \varepsilon } }\). Moreover, from the bounds in (18),
Consider the function \( {\tilde{z}}(r,t) = {\tilde{w}}_0(r,t) - \Phi (r,t), \) where, for each t, \(\Phi (r,t)\) is the solution of the problem
Then \({\tilde{z}} \equiv 0\) on \(\partial \Omega _S\) and we can check that
Applying the arguments from [14, Theorem 12.4], we deduce that
Let \({{\bar{\Omega }}} \subset \Omega ^*\) be an extended smooth closed domain that encloses \({{\bar{\Omega }}}\) and is constructed so that any characteristic point \((x_C,y_C) \in \partial \Omega \) is extended to \((x_C,y^*_C) \in \partial \Omega ^*\) and \(\vert y_C^*\vert \ge \vert y_C\vert \). In this way, all the points on the inflow boundary \(\partial \Omega _I\) are extended to the inflow boundary \(\partial \Omega _I^*\) and likewise for the outflow boundaries. With each point \(\vec p \in \partial \Omega \) on the boundary, we associate \(\vec p_* \in \partial \Omega ^*\) as the point lying on the outward normal to \(\partial \Omega \) and passing through \(\vec p\). If the the two boundaries intersect, then \(\vec p_* = \vec p\). We define the width of the extension to be
Let the boundary of this extended domain be parameterized by
and \(a^*,f^*\) are smooth extensions of a, f from \(\Omega \) to \(\Omega ^*\). Define \(v^*, w^*\) as the solutions of
As \(v_0, v_1, v^*_0, v^*_1\) are solutions of first order problems (9), (10) and \(\Vert v_0^* \Vert _{\partial \Omega _I} \le C \delta _E, \Vert v^*_1 \Vert _{\partial \Omega _I} \le C \delta _E\) , then
Then, using a comparison principle for the elliptic operator L
Hence, on any subdomain \(D \subset {{\bar{\Omega }}}\), we have
We define an approximation \(u_1\) to u on the strip \( \Omega _S\) as the solution of
where \(I_O\) denotes the subinterval of [0, T] where \(\psi '(t) >0\). Outside the strip \(u_1:=v^*, (x,y) \in \Omega {\setminus } \Omega _S\). Then
In the next section, we describe a numerical method which initially generates an approximation \({\bar{U}}_0\) to \(v^*\) across \(\bar{\Omega }\) and, using \({\bar{U}}_0\) along the inner boundary \(\Omega ^-_S\), it corrects this initial approximation within the strip using a piecewise-uniform Shishkin mesh.
3 Numerical Method
A global approximation \({\bar{U}}\) is generated in this section, using a two-step numerical procedure. An initial approximation \(\bar{U}_0\) is generated across a rectangular domain \({\bar{Q}}_E\), which contains the original domain \({{\bar{\Omega }}}\). In the second stage, an approximation \({\bar{U}}_1\) is generated in the strip \(\Omega _S\), which is adjacent to the outflow boundary \(\partial \Omega _O\). The initial approximation \({\bar{U}}_0\) is used as a boundary condition along the inner boundary \(\partial {{\tilde{\Omega }}} _S \cap \Omega \). The approximation \({\bar{U}}\) corresponds to \({\bar{U}}_1\) within the strip and to \({\bar{U}}_0\) outside of the strip.
Enclose the domain with a rectangle \({\bar{Q}}_E:= [m_x,M_x] \times [m_y,M_y],\) where
Set \(u(x,y) \equiv 0, \ (x,y) \in {\bar{Q}}_E {\setminus } \Omega \) for points outside \(\Omega \), then solve the problem (3) using upwinding on a uniform rectangular mesh
That is, find \(U_0\) such thatFootnote 2
Use bilinear interpolation to form an initial global approximation \({\bar{U}}_0\) to u, defined as
where \(\phi _i(x)\) (\(\phi ^j(y)\)) is the standard piecewise linear hat functions centered at \(x=x_i (y=y_j)\). Since we are using upwinding, the numerical solution will be stable; in the sense that the operator \(L^N\) satisfies a discrete comparison principle of the form: If \(Z(x_i,t_j) \ge 0, (x_i,t_j) \in {\bar{Q}}^{N} {\setminus } \Omega \) and \( L^NZ(x_i,t_j) \ge 0, (x_i,t_j) \in Q^{N}\), then \( Z(x_i,t_j) \ge 0, (x_i,t_j) \in {\bar{Q}}^{N}\). However, the layers at the outflow will be smeared and \({\bar{U}}_0\) will not be accurate in the boundary layer region.
We correct this approximation in the strip (15), where the width of the strip is such that
On the strip, we will use the following upwinded finite difference operator
where \( {\tilde{Z}}\) is any mesh function,
The operator \({\tilde{L}}^N\) again satisfies a discrete comparison principle on the strip. Over \(\Omega _S\), we generate a Shishkin mesh [3] in the r coordinate and a uniform mesh in the t direction. The interval \([0,R]= [0, \sigma ] \cup [\sigma , R]\) and the Shishkin transition point [3] is taken to be
Remark 2
In the neighbourhood of each characteristic point \(t=t_C\), consider the parabola
If we choose the parameter \(\delta \) in Assumption 3 such that \( \vert \kappa ( t_C) \vert ^{-1}> \delta \ge (m \vert \kappa ( t_C) \vert )^{-1},\ m > 1\) and if the boundary \(\partial \Omega \) coincided with this parabola then \(\theta \ge \frac{2}{\sqrt{4+m}}. \) Based on this observation, we shall take \(C_*=2\) in (25) in our numerical experiments.
The mesh on the strip will be denoted by \({{\tilde{\Omega }}} ^N_S\) and the mesh points on the boundary of the strip will be denoted by \(\partial {{\tilde{\Omega }}} ^N_S\). Solve for the corrected approximation in the transformed co-ordinates
Use bilinear interpolation within the strip to form \({\bar{U}}_1\). Our corrected numerical approximation \({\bar{U}}\) is defined by
Theorem 2
Assume (4), (6), (11) and that the strip width \(R < \delta \). If U is the corrected numerical solution (27) and u is the continuous solution of (3) then
Proof
In the first phase of the numerical algorithm, we solve on the rectangular mesh \({\bar{Q}}^{N}\). For each vertical height \(y=y_j\), we identify the external mesh points \(S^j := {\bar{Q}}^{N}{\setminus } {{\bar{\Omega }}}\) and the edge co-ordinates
A smooth curve \(\partial \Omega ^*\) can be created to pass through these edge mesh points \(\{(x_{0,j}, y_j), (x_{N,j}, y_j)\} _{j=0}^N\), which will define the boundary of an extension \(\Omega ^*\) of the domain \(\Omega \). Note that the width of this extension (21) is such that \( \delta _E \le C N^{-1}. \) If \(\varepsilon \) is sufficently large such that \(\varepsilon \ln N >C_0\) or \(\varepsilon > \varepsilon _*=O(1)\), then using the derivative bounds (8) we can deduce that
In the other case where \(\varepsilon \ln N \le C_0\), we decompose the initial approximation \(U_0=V_0+W_0\), where the regular and singular components are defined as the solutions of
Let us first bound the error in the regular component \(V_0\). The truncation error and the interpolation error on the boundary yield
Hence,
observe that
As in [14, Lemma 5.1], we have the inequality,Footnote 3
If \(\varepsilon \ln N \le C_0:=pq,\ 0<p< 1,\ q:=\alpha L_x\), then for all \(x_i \le (1-p)N, p <1\),
Then, in the outer domain \(\Omega _O:= \Omega {\setminus } \Omega _S\), for \(\varepsilon \ln N \le pq\), we have the bound
where we have used the bound (16) from Lemma 2. Hence, in all cases, outside the strip
We next examine the error \(\Vert {\bar{U}}_1 -u\Vert \) on the strip.
In the case of functions a(r), u(r) of a single variable, over the interval \(I_i:=[r_{i-1},r_{i+1}]\) with \(H_i := \max \{h_i, h_{i+1} \} \), we have that
From this expression, we have the following truncation error bound,
By the choice of transition point (25), we can identify the following barrier function
The proof is completed using the arguments in [14, Chapter 13], the barrier function (30), Lemma 2, the above truncation error bounds coupled with the bounds on the derivatives in (8) and (20). The first case of \(\varepsilon \ln N > \frac{\alpha R}{2C_*}\), when the mesh is uniform, uses the truncation error bound
coupled with the boundary value \(\Vert ({\tilde{U}}_1 - \tilde{u})(R,t_j) \Vert \le CN^{-1} (\ln N)^2\) to deduce that \(\Vert \tilde{U}_1- {\tilde{u}}\Vert \le CN^{-1} (\ln N)^2\) in the classical case of \(\varepsilon \) large. In the other case of \(2C_*\varepsilon \ln N \le \alpha R\), the discrete solution \({\tilde{U}}_1\) is again decomposed into a regular \({\tilde{V}}_1\) and singular component \({\tilde{W}}_1\), defined as the solutions of
The errors \(\Vert {\tilde{V}}_1- {\tilde{v}}\Vert _{\Omega _S}, \Vert {\tilde{W}}_1- {\tilde{w}}\Vert _{\Omega _S}\) are then bounded as in the case of the outer errors \(\Vert V_0 -v\Vert _{\Omega _O}, \Vert W_0 -w\Vert _{\Omega _O} \). \(\square \)
Remark 3
Recall that throughout this paper, we have assumed that the boundary \(\partial \Omega \) is smooth. This assumption is implicitly used in the Proof of Theorem 2 as all the derivatives \(\frac{\partial ^i \zeta }{\partial t^i}, \frac{\partial ^i \eta }{\partial t^i}, \ 0\le i \le 3\) (see the definitions in (2)) are assumed to be bounded within the strip. Hence, for the error analysis, the smoothness of the outflow boundary \(\partial \Omega _O\) is of particular importance in the error analysis.
4 Numerical Results
The following set of examples are all related to the following: Let \(\beta >0 \) and
Once \(\phi , \psi \) are smooth functions, the level of smoothness of the boundary \(\partial \Omega \) will be determined by identifying the value of p for which \(\phi ^{(i)} (0)= \phi ^{(i)} (2\pi ), \ \psi ^{(i)} (0)= \psi ^{(i)} (2\pi ), 0 \le i \le p \). (See Example 2 below).
To numerically estimate the order of convergence of the numerical method as it is applied to several test problems, we use the double-mesh method [3]. Denote the mesh points on the rectangular grid \({\bar{Q}}^N\) , which lie within the domain \(\bar{\Omega }\) by \({\bar{Q}}_I^N:= {\bar{Q}}^N \cap {{\bar{\Omega }}}\). For each particular value of \(\varepsilon \in R_\varepsilon :=\{ 2^{-i}, i=0,1,2,\ldots 20 \}\) and \(N \in R_N: =\{ 2^{-j}, j=3,4,5\ldots 10 \}\), let \(U^N\) be the computed solutions numerical solution (27), where N denotes the number of mesh elements used in each co-ordinate direction within the rectangle \({\bar{Q}}^N\) and within the strip \({{\bar{\Omega }}} _S\). Define the maximum local two-mesh global differences \( D^N_\varepsilon \) and the parameter-uniform two-mesh global differences \(D^N\) by
Then, for any particular value of \(\varepsilon \) and N, the local orders of global convergence are denoted by \({\bar{p}} ^{N}_\varepsilon \) and, for any particular value of N and all values of \(\varepsilon \), the parameter-uniform global orders of convergence \({\bar{p}} ^N\) are defined, respectively, by
In implementing the numerical method, we will apply the method to problems which do not satisy the assumptions (4), (6) and (11). Hence, unless otherwise indicated, we simply take \(R=0.1\) (for the width of the strip) and \(C_*=2 \) (in (25)).
Example 1
Consider \(\partial \Omega _1:=\{(\phi (t), \psi (t)) \} = \{ (\rho \cos t, \rho \sin t) \}\), with \(\rho := \beta + \sin ^2 t\). The domain is displayed in Fig. 1 for the case of \(\beta =0.5\). The outflow is all points on the boundary where \(x >0\) and the inflow is for the boundary points where \(x<0\). There are two external characteristic points at \((0, \pm (1+ \beta ))\) and no internal characteristic points. The curvature at the two characteristic points is \(\kappa = (3+\beta )(1+\beta )^{-2}\) and the upper bound in (24) is \(R < \frac{1}{6}\).
In Table 1 we present orders for the following test problem:
A sample computed solution is displayed in Fig. 2.
Remark 4
In determining the double-mesh global orders of convergence, we note that we can underestimate the orders due to a potential overestimate of the maximum two mesh differences. This overestimate is caused by the fact that the interpolant \({\bar{U}}_0\) over the rectangular grid, will use mesh points lying within the strip \({{\bar{\Omega }}} _S\). This overspill is visible in Fig. 3. An overestimate can occur when the maximum two mesh differences are located near the inner boundary of the strip.
Example 2
The boundary is \(\partial \Omega _2:=\{ (\rho \sin t, \rho \cos t) \}\), with \(\rho := 2.5\pi ^2 +\beta -t^2 \sin ^2 t\). In this case the orientation of the curve is clockwise as the parameter t increases and the domain is not symmetrical. The domain is displayed in Fig. 4 for the case of \(\beta =0.5\). This domain does not have a smooth boundary at \(t=0\), where there is a jump (\(\vert [ \kappa ] (0) \vert \approx 0.1246\)) in the curvature. However, this point does not lie within the outflow boundary and hence it does not have any adverse effect on the rates of convergence. There are two external characteristic points at \((0, \pm M_y), M_y= 2.5\pi ^2+\beta \). Also \(M_x = 2.25 \pi ^2+\beta \) and the upper bound in (24) is \(R \approx 14.28\). In Table 2 we present global orders for the test problem, with \(R=1\):
A sample computed solution is displayed in Fig. 5.
Example 3
The boundary is \(\partial \Omega _3:=\{(\phi (t), \psi (t)) \} = \{ (\rho \cos t, \rho \sin t) \}\), where \(\rho := \beta + \cos ^2 t\) and \(0< \beta <2\) and the domain \(\Omega _3\) is displayed in Fig. 6 for the case of \(\beta =0.5\). The inflow boundary is disjointed and corresponds to the intervals (in the t variable)
The domain has four exterior characteristic points (where for \(\beta =0.5, \kappa = 3/(2\sqrt{2})\)) at
and two interior characteristic points (where for \(\beta =0.5, \kappa = 2\)) at \((0, \pm \beta )\). In Table 3 we present global orders for the test problem (with \(R=1\)):
where \(H(\cdot )\) is the Heaviside unit step function. A sample computed solution is displayed in Fig. 7.
Remark 5
The data in test problem (33) has been chosen to satisfy Assumption 3, with \(\delta =0.5\). The data in the test problems (31) and (32) do not satisfy the compatibility constraints in Assumption 3 for any choice of \(\delta >0\). Nevertheless, for all three test problems we observe parameter-uniform convergence in each of the corresponding tables of orders of convergence. However, if the test problem (33) is modified so that \(f=(1-\frac{y}{\beta })^4(1+\frac{y}{\beta })^4\) then the numerical method will fail to converge due to insufficient compatibility being imposed at the characteristic points.
Data Availability
Enquiries about data availability should be directed to the authors.
Notes
For nonnegative integers k and all \( v \in C^k(D), \ D \subset {\mathbb {R}}^2\), we define
$$\begin{aligned} \vert v \vert _{k,D} := \sum _{i+j=k} \sup _{(x,y) \in D} \Bigl \vert \frac{\partial ^{k} v}{\partial x ^i \partial y^j} \Bigr \vert , \quad \Vert v \Vert _{k,D} := \sum _{0\le j \le k} \vert v \vert _{j,D}. \end{aligned}$$If \(D ={\bar{\Omega }}\) we omit the subscript D and if \(k = 0\) we omit the subscript k. The space \(C^{\gamma }(D ) \) is the set of all functions that are Hölder continuous of degree \(\gamma \) with respect to the Euclidean norm \(\Vert \cdot \Vert _e\). A function \(f \in C^{\gamma }(D ) \) if
$$\begin{aligned} \lceil f \rceil _{0,\gamma , D} = \sup _\mathbf{{u} \ne \mathbf {v}, \ \mathbf {u}, \mathbf {v} \in D} \frac{\vert f(\mathbf{u}) - f(\mathbf{v}) \vert }{\Vert \mathbf {u}- \mathbf {v} \Vert _e^\gamma } \end{aligned}$$is finite. The space \(C^{k, \gamma }(D ) \) is the set of all functions in \(C^{k}(D )\) whose derivatives of order k are Hölder continuous of degree \( \gamma \). Also we define
$$\begin{aligned} \lceil v \rceil _{k, \gamma ,D} := \sum _{i+j=k} \Bigl \lceil \frac{\partial ^k v}{\partial x^i \partial y^j} \Bigr \rceil _{0, \gamma ,D}, \quad \Vert v \Vert _{k,\gamma ,D} := \sum _{0\le n \le k} \vert v \vert _{n,D} + \lceil v \rceil _{k, \gamma ,D}. \end{aligned}$$The finite difference operators are defined as
$$\begin{aligned} D^+_xZ(x_i,y_j)&:=\frac{Z (x_{i+1},y _j)-Z(x_i,y _j)}{x_{i+1}-x_i},\quad D_x^-Z(x_i,y _j) :=\frac{Z(x_{i},y _j)-Z (x_{i-1},y _j)}{x_{i}-x_{i-1}}; \\ 2(bD_x^\pm )Z&:= (b-\vert b \vert ) D_x^+Z + (b+\vert b \vert ) D_x^-Z;\quad \delta ^2_x Z(x_i,y _j) :=\frac{D^+_xZ(x_{i},y_j)-D_x^-Z(x_i,y _j)}{(x_{i+1}-x_{i-1})/2}.\end{aligned}$$Take the natural logarithm of both sides and use \(\ln (1+t) \ge t(1-t/2), \ \forall t \ge 0\).
References
Augustin, M., Caiazzo, A., Fiebach, A., Fuhrmann, J., John, V., Linke, A., Umla, R.: An assessment of discretizations for convection-dominated convection-diffusion equation. Comput. Methods Appl. Mech. Eng. 200(47–48), 3395–3409 (2011)
Barrenechea, G., John, V., Knobloch, P., Rankin, R.: A unified analysis of algebraic flux correction schemes for convection-diffusion equations. SeMA J. Boletin de la Sociedad Española de Matemática Aplicada 75(4), 655–685 (2018)
Farrell, P.A., Hegarty, A.F., Miller, J.J.H., O’Riordan, E., Shishkin, G.I.: Robust computational techniques for boundary layers. CRC Press, Boca Raton, Fl
Frerichs, D., John, V.: On reducing spurious oscillations in discontinuous Galerkin (DG) methods for steady-state convection-diffusion equations. J. Comput. Appl. Math. 113487, 20 (2021)
García-Archilla, B.: Shishkin mesh simulation: a new stabilization technique for convection-diffusion problems. Comput. Methods Appl. Mech. Eng. 256, 1–16 (2013)
Gilbarg, D., Trudinger, N.S.: Elliptic partial differential equations of second order. Reprint of the third edition, Springer, Berlin (2001)
Hegarty, A.F., O’Riordan, E.: Parameter-uniform numerical method for singularly perturbed convection-diffusion problem on a circular domain. Adv. Comput. Math. 43(5), 885–909 (2017)
Hegarty, A.F., O’Riordan, E.: A parameter-uniform numerical method for a singularly perturbed convection-diffusion problem posed on an annulus. Comput. Math. Appl. 78(10), 3329–3344 (2019)
Il’in, A.M.: Matching of asymptotic expansions of solutions of boundary value problems, Mathematical Monographs, 102, American Mathematical Society, (1992)
Kopteva, N.: Pointwise error estimates for 2d singularly perturbed semilinear reaction-diffusion problems, In: I. Farago, P. Vabishchevich and L. Vulkov, eds., Finite Difference Methods: Theory and Applications, In: Proceeding of Fourth International Conference, Lozenetz, Bulgaria, 105-114, (2006)
Kopteva, N.: Maximum norm error analysis of a 2D singularly perturbed semilinear reaction-diffusion problem. Math. Comput. 76(258), 631–646 (2007)
Ladyzhenskaya, O.A., Ural’tseva, N.N.: Linear and Quasilinear Elliptic Equations. Academic Press, New York and London (1968)
Linß, T., Stynes, M.: Asymptotic analysis and Shishkin-type decomposition for an elliptic convection-diffusion problem. J. Math. Anal. Appl. 261, 604–632 (2001)
Miller, J.J.H., O’Riordan, E., Shishkin, G.I.: Fitted Numerical Methods for Singular Perturbation Problems, Revised World-Scientific, Singapore (2012)
Roos, H.-G., Stynes, M., Tobiska, L.: Robust numerical methods for singularly perturbed differential equations. Springer Series in Computational Mathematics, vol. 24, 2nd edn. Springer, Berlin (2008)
Schwab, C., Suri, M., Xenophontos, C.: The \(hp\) finite element method for problems in mechanics with boundary layers. Comput. Methods Appl. Mech. Eng. 157(3–4), 311–333 (1998)
Xenophontos, C.: The \(hp\) finite element method for singularly perturbed problems in smooth domains. Math. Models Methods Appl. Sci. 8(2), 299–326 (1998)
Xenophontos, C., Fulton, S.R.: Uniform approximation of singularly perturbed reaction-diffusion problems by the finite element method on a Shishkin mesh. Numer. Methods Partial Differ. Equ. 19(1), 89–111 (2003)
Acknowledgements
We wish to thank the anonymous reviewers for their careful reading of the paper and their helpful comments.
Funding
Open Access funding provided by the IReL Consortium. The authors have not disclosed any funding.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Hegarty, A.F., O’Riordan, E. A Numerical Method for Singularly Perturbed Convection-diffusion Problems Posed on Smooth Domains. J Sci Comput 92, 84 (2022). https://doi.org/10.1007/s10915-022-01896-7
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10915-022-01896-7