1 Introduction

The Stokes problem is a well known and extensively studied linear model for creeping flow. There exist various physically justified and mathematically valid boundary conditions that can be directly applied. For instance, some components of the velocity field \(\varvec{u}\) may be prescribed while the other components are free to vary subject to a zero stress condition. In the classical linear slip boundary condition, the normal velocity is equal to zero and the tangential velocity remains unspecified.

However, in some cases a more involved nonlinear interaction takes place between the fluid and its surroundings. Think, e.g., of a membrane leaking only if the pressure becomes large enough. Another example is a slip flow in which the tangential velocity at the boundary becomes nonzero if and only if the shear stress exceeds a prescribed, or velocity-dependent, friction threshold. This inequality-type of friction laws have been suggested, e.g., for the flow of glaciers over the bedrock [24]. Besides, given that the Stokes flow problem is analogous to the equations of linear elasticity in the incompressible limit [17], nonlinear slip conditions could be used for modeling frictional contact of incompressible solids. See also Rao and Rajagopal [22] for more examples on the use of slip boundary conditions in flow problems.

In this work, we focus on the nonlinear slip condition with a prescribed Tresca friction threshold. The nonlinear slip (and leak) boundary conditions of friction type were first considered for incompressible fluids by Fujita [10]—see also the discussion on slip boundary conditions for fluid flow problems in Le Roux [18]. These problems can be written as variational inequalities of the second kind, cf. Fujita [10], or, alternatively, as mixed variational inequalities by expressing the boundary traction as a Lagrange multiplier \(\varvec{\lambda }\) which enforces the inequality constraint, cf. [3]. Here, we adopt the second formulation and propose a stabilised finite element method for its numerical approximation.

Regarding the numerical approximations, Kashiwabara [16] has proven error estimates for the velocity-pressure pair \((\varvec{u},p)\) using Taylor–Hood \(P_2\)\(P_1\) finite elements but with the inf-sup constant for the tangential component \(\varvec{\lambda }_t\), approximated using the trace space of \(P_2\), still depending on h. The lack of uniform stability means that it is not possible to achieve optimal error estimates for \(\varvec{\lambda }_t\). However, the value of \(\varvec{\lambda }_t\) is needed in finding the active constraints at each iteration step of the solution algorithm. Therefore, it is reasonable to aim at uniform stability for the three unknowns \((\varvec{u},p,\varvec{\lambda })\).

Achieving uniform stability simultaneously for \(\varvec{\lambda }\) and p can be done by different means, e.g., by a specific choice of finite element spaces. The work of Ayadi et al. [1,2,3] is based on the use of \(P_1\) bubble–\(P_1\)\(P_1\) triplet as a stable choice of mixed finite element spaces. This is a reasonable choice since \(P_1\) bubble–\(P_1\) for \((\varvec{u},p)\) is known to be stable in the case of the standard Stokes problem and \(P_1\)\(P_1\) element for \((\varvec{u},\varvec{\lambda })\) has been implemented to impose boundary conditions using Lagrange multipliers—although we would expect that minor modifications of the basis functions are needed in the case of mixed boundary conditions [13]. Other works based on mixed methods, with or without an explicit Lagrange multiplier for the boundary condition, include Djoko et al. [6, 8] and Fang et al. [9].

The present work focuses on residual stabilisation [4, 25], i.e. the inclusion of additional residual terms in the variational formulation to circumvent the Babuška–Brezzi condition. If these residual terms are consistent and scaled properly, it is possible to have stability for the \((p, \varvec{\lambda })\) variables, no matter which finite element spaces are considered for discretisation. This will greatly improve the flexibility in choosing the finite element spaces and allows for discretisations beyond those based on the boundary conditions. In this work, the stabilisation allows us to use the lowest order \(P_1\)\(P_1\)\(P_0\) element in our numerical experiment, a triplet which would otherwise be unstable.

Residual stabilisation has been considered in Djoko and Koko [7] but only for the velocity–pressure pair and, hence, without estimates for \(\varvec{\lambda }\). A stabilisation technique through pressure projection has been presented in Li and Li [20], and discussed in Qiu et al. [21] and Li et al. [19], but again without estimates for \(\varvec{\lambda }\). Using residual stabilisation for both Lagrange multipliers, p and \(\varvec{\lambda }\), we establish here a uniform stability estimate for all three variables. This is shown to lead to a quasi-optimality result, i.e. a best approximation result with an additional term due to the unknown location of the slip boundary, which is further refined into an a priori error estimate for the lowest order method.

The work is organized as follows. In Sect. 2, we present the strong formulation of the problem and in Sect. 3 derive the corresponding weak formulation. The stabilised finite element method is presented and its stability analysed in Sect. 4. In Sect. 5, the quasi-optimality estimate is proven and shown to provide an optimal priori error estimate for the lowest order method. In Sect. 6, we derive a solution algorithm for the discrete variational inequality and, in Sect. 7, report on the results of our numerical experiment which aims at corroborating the theoretical convergence rates.

2 Strong formulation

Let \(\varOmega \in \mathbb {R}^d, d\in \{2,3\}\) denote a polygonal (polyhedral) domain with a Lipschitz boundary \(\partial \varOmega \) and let \(\varvec{u}: \varOmega \rightarrow \mathbb {R}^d\) be the fluid velocity field. Denoting the symmetric part of the velocity gradient by

$$\begin{aligned} \varvec{D}(\varvec{u}) = \frac{1}{2}(\nabla \varvec{u}+ \nabla \varvec{u}^T), \end{aligned}$$

we introduce the differential operator

$$\begin{aligned} \varvec{A}\varvec{u}= \varvec{u}- \,\textbf{div}\,(2\mu \varvec{D}(\varvec{u})), \end{aligned}$$

where \(\mu > 0\) is the kinematic viscosity. Letting \(p: \varOmega \rightarrow \mathbb {R}\) be the pressure field, the balance of linear momentum for an incompressible, homogeneous and linearly viscous fluid reads as

$$\begin{aligned} \varvec{A}\varvec{u}+ \nabla p = \varvec{f}, \end{aligned}$$
(2.1)

where \(\varvec{f}: \varOmega \rightarrow \mathbb {R}^d\) denotes the resultant of external forces. Equation 2.1 holds together with the incompressibility constraint

$$\begin{aligned} \textrm{div}\,\varvec{u}= 0. \end{aligned}$$
(2.2)

Remark 1

We are considering here the "generalized" Stokes system 2.12.2 for expediency. In particular, using the operator \(\varvec{A}\varvec{u}\), instead of \(- \,\textbf{div}\,(2\mu \varvec{D}(\varvec{u}))\), allows us to impose the slip boundary condition on the entire \(\partial \varOmega \). Considering different boundary conditions at different parts of the domain requires resorting to the trace space \(H^{1/2}_{00}\) [26] for the normal components of the velocity field trace which, in our opinion, is an unnecessary technical difficulty. We also note that the generalized equation is relevant, as such, for the implicit time discretization of the time-dependent Stokes equations, and that the solvers presented in this work and available at [11] can be applied to the standard Stokes system by simply removing the additional term.

Next, let us introduce the boundary conditions. Denoting the Cauchy stress tensor by

$$\begin{aligned} \varvec{\sigma }(\varvec{u},p) = -p \varvec{I} + 2\mu \varvec{D}(\varvec{u}), \end{aligned}$$
(2.3)

and the normal and tangential components of \(\varvec{u}\) as \(u_n= \varvec{u}\cdot \varvec{n}\) and \(\varvec{u}_t=\varvec{u}-u_n\varvec{n}\), where \(\varvec{n}:\partial \varOmega \rightarrow \mathbb {R}^d\) is the outward unit normal to \(\varOmega \), we divide the normal stress vector \(\varvec{\sigma }(\varvec{u},p) \varvec{n}\) into its normal and tangential components \(\sigma _n\) and \(\varvec{\sigma }_t\) defined through

$$\begin{aligned} \sigma _n(\varvec{u},p)=\varvec{\sigma }(\varvec{u},p)\varvec{n}\cdot \varvec{n}\end{aligned}$$

and

$$\begin{aligned} \varvec{\sigma }_t(\varvec{u},p)=\varvec{\sigma }(\varvec{u},p)\varvec{n}-\sigma _n(\varvec{u},p)\varvec{n}. \end{aligned}$$

On the boundary \(\partial \varOmega \), we impose the following (nonlinear) slip boundary condition

$$\begin{aligned} u_n=0,\quad |\varvec{\sigma }_t| \le \kappa , \quad \varvec{\sigma }_t\cdot \varvec{u}_t+\kappa |\varvec{u}_t|=0, \end{aligned}$$
(2.4)

where \(\kappa : \partial \varOmega \rightarrow (0,\infty )\) is a positive threshold function denoting an upper limit for the tangential stress before slip occurs. In other words, if \(|\varvec{\sigma }_t|< \kappa \) then the tangential velocity is zero and if \(|\varvec{\sigma }_t|= \kappa \) then the tangential stress and velocity vectors are collinear with opposite directions. In case the boundary condition is imposed with the help of Lagrange multipliers, the definition

$$\begin{aligned} \varvec{\lambda }= \varvec{\sigma }(\varvec{u}, p)\varvec{n} \end{aligned}$$
(2.5)

implies that

$$\begin{aligned} \lambda _n u_n=0, \quad |\varvec{\lambda }_t| \le \kappa , \quad \varvec{\lambda }_t \cdot \varvec{u}_t+\kappa |\varvec{u}_t|=0, \end{aligned}$$
(2.6)

where \(\lambda _n = \varvec{\lambda }\cdot \varvec{n}\) denotes the normal component of the Lagrange multiplier and \(\varvec{\lambda }_t = \varvec{\lambda }- \lambda _n \varvec{n}\) its tangential component.

Remark 2

Note that there exists an analogous interpretation of the above problem in solid mechanics. It is well known that the Stokes problem 2.12.2 can be obtained from the equations of linear elasticity by defining "pressure" as the product of the first Lamé parameter and the divergence of the displacement field and then letting the first Lamé parameter approach infinity, corresponding to the incompressible limit. Consequently, in solid mechanics, the condition 2.4 can be referred to as the Tresca friction condition [14].

3 Mixed variational formulation

We will now present a mixed variational formulation for problem 2.1,2.2, 2.4. We use the following notation for the \(L^2\) inner products

$$\begin{aligned} (a, b) = \int _\varOmega ab \,\textrm{d}x, \quad (\varvec{a}, \varvec{b}) = \int _\varOmega \varvec{a} \cdot \varvec{b}\,\textrm{d}x, \end{aligned}$$

define the velocity and pressure spaces through

$$\begin{aligned} \varvec{V} = H^1(\varOmega )^d, \quad Q = \{ q \in L^2(\varOmega ): (q, 1) = 0 \}, \end{aligned}$$

and denote the trace space by \(\varvec{W}=H^{1/2}(\partial \varOmega )^d\), \(d\in \{2,3\}\). The space for the Lagrange multiplier, defined in 2.5, is

$$\begin{aligned} \varvec{\varLambda } = \{ \varvec{\mu }\in \varvec{M}: -\langle \varvec{\mu }_t, \varvec{v} \rangle \le (\kappa , |\varvec{v}_t|)_{\partial \varOmega }~\forall \varvec{v} \in \varvec{W} \}, \end{aligned}$$

where \(\varvec{M} = \varvec{W}^\prime \) and \(\langle .,. \rangle \) denotes the duality pairing between \(\varvec{M}\) and \(\varvec{W}\). In particular, for \(\varvec{\mu }\in \varvec{M}\) and \(\varvec{v} = (v_n \varvec{n} + \varvec{v}_t) \in \varvec{W}\) we can write

$$\begin{aligned} \langle \varvec{\mu }, \varvec{v} \rangle = \langle \mu _n, v_n \rangle + \langle \varvec{\mu }_t, \varvec{v}_t \rangle , \end{aligned}$$

where \(\langle \mu _n, v_n \rangle = \langle \mu _n \varvec{n}, v_n \varvec{n} \rangle \); cf. [29].

The mixed variational formulation of problem 2.1,2.2, 2.4 now reads as follows: find \((\varvec{u}, p, \varvec{\lambda }) \in \varvec{V} \times Q \times \varvec{\varLambda }\) such that

$$\begin{aligned} \left\{ \begin{alignedat}{2} a(\varvec{u}, \varvec{v}) - (\textrm{div}\,\varvec{v}, p) - \langle \varvec{\lambda }, \varvec{v}\rangle&= (\varvec{f}, \varvec{v}) \quad{} & {} \forall \varvec{v}\in \varvec{V}, \\ (\textrm{div}\,\varvec{u}, q)&= 0 \quad{} & {} \forall q \in Q, \ \\ -\langle \varvec{\mu }- \varvec{\lambda }, \varvec{u}\rangle&\le 0 \quad{} & {} \forall \varvec{\mu }\in \varvec{\varLambda }. \end{alignedat} \right. \end{aligned}$$
(3.1)

The existence, uniqueness and regularity of solutions of the variational problem (without the Lagrange multiplier) has been studied in [10] and [23]. The inequality in 3.1 is equivalent to \(-\langle \mu _t - \lambda _t, u_t \rangle \le 0\) (when \(\mu _n = \lambda _n\)) which follows from the definition of the space \(\varvec{\varLambda }\) and the last equality in 2.6.

Defining the bilinear form

$$\begin{aligned} \mathscr {B}(\varvec{w}, r, \varvec{\xi }; \varvec{v}, q, \varvec{\mu })&= a(\varvec{w},\varvec{v}) + (q, \textrm{div}\,\varvec{w}) - (r, \textrm{div}\,\varvec{v}) - \langle \varvec{\xi }, \varvec{v}\rangle - \langle \varvec{\mu }, \varvec{w}\rangle \end{aligned}$$

where

$$\begin{aligned} a(\varvec{w}, \varvec{v}) = (\varvec{w}, \varvec{v}) + (2\mu \varvec{D}(\varvec{w}), \varvec{D}(\varvec{v})), \end{aligned}$$

we can write the problem 3.1, by summing the three parts in 3.1, in the following compact form:

Problem 1

(Continuous variational form) Find \((\varvec{u}, p, \varvec{\lambda }) \in \varvec{V} \times Q \times \varvec{\varLambda }\) such that

$$\begin{aligned} \mathscr {B}(\varvec{u}, p, \varvec{\lambda }; \varvec{v}, q, \varvec{\mu }- \varvec{\lambda }) \le (\varvec{f}, \varvec{v}) \quad \forall (\varvec{v}, q, \varvec{\mu }) \in \varvec{V} \times Q \times \varvec{\varLambda }. \end{aligned}$$

The following norm will be used in our analysis:

$$\begin{aligned} \left| \left| \left| (\varvec{w},r,\varvec{\xi }) \right| \right| \right| ^2 = \Vert \varvec{w}\Vert _{1,\varOmega }^2 + \Vert r \Vert _{0,\varOmega }^2 + \Vert \varvec{\xi }\Vert _{-\frac{1}{2}}^2, \end{aligned}$$
(3.2)

where \( \Vert \cdot \Vert _{1,\varOmega }\) and \( \Vert \cdot \Vert _{0,\varOmega }\) are the usual norms in the Hilbert spaces \(H^1(\varOmega )\) and \(L^2(\varOmega )\) and

$$\begin{aligned} \Vert \varvec{\xi }\Vert _{-\frac{1}{2}} = \sup _{\varvec{w} \in \varvec{W}} \frac{\langle \varvec{\xi }, \varvec{w}\rangle }{ \Vert \varvec{w} \Vert _{\frac{1}{2}}} \quad \text {and} \quad \Vert \varvec{w} \Vert _{\frac{1}{2}} = \inf _{\begin{array}{c} \varvec{v} \in (H^1(\varOmega ))^d\\ \varvec{v}|_{\partial \varOmega } = \varvec{w} \end{array}} \Vert \nabla \varvec{v} \Vert _0. \end{aligned}$$

Note that there exist \(C, c > 0\) such that

$$\begin{aligned} c \Vert \varvec{w}\Vert _{1,\varOmega }^2 \le a(\varvec{w}, \varvec{w}) \le C \Vert \varvec{w}\Vert _{1,\varOmega }^2. \end{aligned}$$
(3.3)

In the following, we write \(a \lesssim b\) (or \(a \gtrsim b\)) if there exists a constant \(C > 0\), which is independent of the finite element mesh, but possibly varying from step to step, and satisfies \(a \le C b\) (or \(a \ge C b\)).

The proof of the following result can be inferred, e.g., from [2].

Theorem 1

(Continuous stability) For every \((\varvec{w}, r, \varvec{\xi }) \in \varvec{V} \times Q \times \varvec{\varLambda }\) there exists \((\varvec{v}, q, \varvec{\mu }) \in \varvec{V} \times Q \times \varvec{\varLambda }\) satisfying

$$\begin{aligned} \mathscr {B}(\varvec{w}, r, \varvec{\xi }; \varvec{v}, q, \varvec{\mu }) \gtrsim \left| \left| \left| (\varvec{w}, r, \varvec{\xi }) \right| \right| \right| ^2 \end{aligned}$$

and

$$\begin{aligned} \left| \left| \left| (\varvec{v}, q, \varvec{\mu }) \right| \right| \right| \lesssim \left| \left| \left| (\varvec{w}, r, \varvec{\xi }) \right| \right| \right| . \end{aligned}$$

4 Stabilised finite element method

We consider finite element spaces based on a shape regular triangulation \(\mathscr {T}_h\) of \(\varOmega \) with the mesh parameter h. We denote by \(\mathscr {E}_h\) the internal facets and by \(\mathscr {G}_h\) the boundary facets of \(\mathscr {T}_h\), respectively. The finite element spaces are denoted by \(\varvec{V}_h \subset \varvec{V}\), \(Q_h \subset Q\), \(\varvec{M}_h \subset \varvec{M}\), and, in addition, we define the discrete counterpart of \(\varvec{\varLambda }\) as follows:

$$\begin{aligned} \varvec{\varLambda }_h = \{ \varvec{\mu }\in \varvec{M}_h: | \varvec{\mu }_{t} | \le \kappa \}. \end{aligned}$$

Our analysis is based on the conformity assumption \(\varvec{\varLambda }_h \subset \varvec{\varLambda }\) which means that we must be able to enforce the condition \(| \varvec{\lambda }_{h,t} | \le \kappa \) strongly. In practice, this means, e.g., that \(\kappa \) and \(\varvec{\lambda }_h\) are constants elementwise. We note that while the conformity is required by our analysis, the resulting algorithm gives reasonable results also for nonconstant \(\kappa \) where the condition \(| \varvec{\lambda }_{h,t} | \le \kappa \) holds only, e.g., at element midpoints or at the nodes of the mesh.

Let \(\alpha _1, \alpha _2 > 0\) be stabilisation parameters. The finite element method is written with the help of the stabilised bilinear form

$$\begin{aligned} \mathscr {B}_h(\varvec{w}, r, \varvec{\xi }; \varvec{v}, q, \varvec{\mu }){} & {} = \mathscr {B}(\varvec{w}, r, \varvec{\xi }; \varvec{v}, q, \varvec{\mu }) - \alpha _1 \mathscr {S}_h^1(\varvec{w}, r; \varvec{v}, q)\\{} & {} \quad - \alpha _2 \mathscr {S}_h^2(\varvec{w}, r, \varvec{\xi }; \varvec{v}, q, \varvec{\mu }) \end{aligned}$$

where

$$\begin{aligned} \mathscr {S}_h^1(\varvec{w}, r; \varvec{v}, q) = \sum _{T \in \mathscr {T}_h} h_T^2 \int _{T} (\varvec{A}\varvec{w}+ \nabla r) \cdot (\varvec{A}\varvec{v}- \nabla q) \,\textrm{d}x \end{aligned}$$

and

$$\begin{aligned} \mathscr {S}_h^2(\varvec{w}, r, \varvec{\xi }; \varvec{v}, q, \varvec{\mu }) = \sum _{E \in \mathscr {G}_h} h_E \int _{E} (\varvec{\xi }- \varvec{\sigma }(\varvec{w}, r)\varvec{n}) \cdot ( \varvec{\mu }- \varvec{\sigma }(\varvec{v}, q)\varvec{n}) \,\textrm{d}s. \end{aligned}$$

The stabilised linear form is given by

$$\begin{aligned} \mathscr {L}_h(\varvec{v}, q) = (\varvec{f}, \varvec{v}) - \alpha _1 \mathscr {F}_h(\varvec{v}, q) \end{aligned}$$

where

$$\begin{aligned} \mathscr {F}_h(\varvec{v}, q) = \sum _{T \in \mathscr {T}_h} h_T \int _{T} \varvec{f}\cdot ( \varvec{A}\varvec{v}- \nabla q) \,\textrm{d}x. \end{aligned}$$

This type of nonsymmetric residual stabilisation for the Stokes operator can be found, e.g., in [5].

The stabilised finite element method corresponds to solving the following variational problem.

Problem 2

(Discrete variational form) Find \((\varvec{u}_h, p_h, \varvec{\lambda }_h) \in \varvec{V}_h \times Q_h \times \varvec{\varLambda }_h\) such that

$$\begin{aligned} \mathscr {B}_h(\varvec{u}_h, p_h, \varvec{\lambda }_h; \varvec{v}_h, q_h, \varvec{\mu }_h - \varvec{\lambda }_h) \le \mathscr {L}_h(\varvec{v}_h, q_h) \quad \forall (\varvec{v}_h, q_h, \varvec{\mu }_h) \in \varvec{V}_h \times Q_h \times \varvec{\varLambda }_h. \end{aligned}$$

In our analysis, we will use the following inverse and trace estimates, easily proven by a scaling argument [25].

Lemma 1

(Inverse estimates) For any \((\varvec{w}_h, r_h) \in \varvec{V}_h \times Q_h\), there exist constants \(C_{I,1}, C_{I,2} > 0\) such that

$$\begin{aligned} C_{I,1} \sum _{T \in \mathscr {T}_h} h_T^2 \Vert \varvec{A}\varvec{w}_h \Vert _{0,T}^2 \le a(\varvec{w}_h, \varvec{w}_h) \end{aligned}$$

and

$$\begin{aligned} C_{I,2} \sum _{E \in \mathscr {G}_h} h_E \Vert \varvec{\sigma }(\varvec{w}_h, r_h) \varvec{n}\Vert _{0,E}^2 \le a(\varvec{w}_h, \varvec{w}_h). \end{aligned}$$

Lemma 2

(Discrete trace estimate) For any \(\varvec{w}_h \in \varvec{V}_h\), there exists \(C_T>0\) such that

$$\begin{aligned} C_T \sum _{E \in \mathscr {G}_h} h_E\Vert 2\mu \varvec{D}(\varvec{w}_h)\varvec{n}\Vert _{0,E}^2\le \Vert \varvec{w}_h\Vert _{1,\varOmega }^2. \end{aligned}$$

The following discrete counterpart of the norm defined in 3.2 is instrumental in the stability analysis of the discrete problem.

$$\begin{aligned} \left| \left| \left| (\varvec{w}_h,r_h,\varvec{\xi }_h) \right| \right| \right| ^2_h = \left| \left| \left| (\varvec{w}_h,r_h,\varvec{\xi }_h) \right| \right| \right| ^2 + \sum _{T \in \mathscr {T}_h} h_T^2 \Vert \nabla r_h \Vert _{0,T}^2 + \sum _{E \in \mathscr {G}_h} h_E \Vert \varvec{\xi }_h \Vert ^2_{0,E}.\nonumber \\ \end{aligned}$$
(4.1)

Note, in particular, that

$$\begin{aligned} \left| \left| \left| (\varvec{w}_h,r_h,\varvec{\xi }_h) \right| \right| \right| _h \ge \left| \left| \left| (\varvec{w}_h,r_h,\varvec{\xi }_h) \right| \right| \right| . \end{aligned}$$

Existence and uniqueness of solutions to the discrete variational problem follows from the discrete stability estimate proven below.

Theorem 2

(Discrete stability) Let \(\frac{\alpha _1}{C_{I,1}} + \frac{\alpha _2}{C_{I,2}} < 1\). For every \((\varvec{w}_h, r_h, \varvec{\xi }_h) \in \varvec{V}_h \times Q_h \times \varvec{\varLambda }_h\) there exists \((\varvec{v}_h, q_h) \in \varvec{V}_h \times Q_h\) satisfying

$$\begin{aligned} \mathscr {B}_h(\varvec{w}_h, r_h, \varvec{\xi }_h; \varvec{v}_h, q_h, -\varvec{\xi }_h) \gtrsim \left| \left| \left| (\varvec{w}_h, r_h, \varvec{\xi }_h) \right| \right| \right| _h^2 \end{aligned}$$
(4.2)

and

$$\begin{aligned} \left| \left| \left| (\varvec{v}_h, q_h, \varvec{\mu }_h) \right| \right| \right| _h \lesssim \left| \left| \left| (\varvec{w}_h, r_h, \varvec{\mu }_h) \right| \right| \right| _h \quad \forall \varvec{\mu }_h \in \varvec{\varLambda }_h. \end{aligned}$$

Proof

(Step 1.) Choosing \((\varvec{v}_h, q_h, \varvec{\mu }_h) = (\varvec{w}_h, r_h, -\varvec{\xi }_h)\) gives

$$\begin{aligned}&\mathscr {B}_h(\varvec{w}_h, r_h, \varvec{\xi }_h; \varvec{w}_h, r_h, -\varvec{\xi }_h)\\&=a(\varvec{w}_h, \varvec{w}_h) - \alpha _1 \sum _{T \in \mathscr {T}_h} h_T^2 \Vert \varvec{A}\varvec{w}_h \Vert _{0,T}^2 - \alpha _2 \sum _{E \in \mathscr {G}_h} h_E \Vert \varvec{\sigma }(\varvec{w}_h, r_h) \varvec{n}\Vert _{0,E}^2\\&\quad + \alpha _1 \sum _{T \in \mathscr {T}_h} h_T^2 \Vert \nabla r_h \Vert _{0,T}^2 + \alpha _2 \sum _{E \in \mathscr {G}_h} h_E \Vert \varvec{\xi }_h \Vert ^2_{0,E}. \end{aligned}$$

Using the inverse estimates of Lemma 1 and the bound 3.3 we get

$$\begin{aligned}&\mathscr {B}_h(\varvec{w}_h, r_h, \varvec{\xi }_h; \varvec{w}_h, r_h, -\varvec{\xi }_h)\\&\ge \left( 1 - \frac{\alpha _1}{C_{I,1}} - \frac{\alpha _2}{C_{I,2}}\right) c \Vert \varvec{w}_h\Vert _{1,\varOmega }^2 + \alpha _1 \sum _{T \in \mathscr {T}_h} h_T^2 \Vert \nabla r_h \Vert _{0,T}^2 + \alpha _2 \sum _{E \in \mathscr {G}_h} h_E \Vert \varvec{\xi }_h \Vert ^2_{0,E}. \end{aligned}$$

(Step 2.) As a consequence of Theorem 1, for any \((r_h, \varvec{\xi }_h) \in Q_h \times \varvec{\varLambda }_h\) there exists \(\varvec{v}\in \varvec{V}\) such that

$$\begin{aligned} (r_h, \textrm{div}\,\varvec{v}) + \langle \varvec{\xi }_h, \varvec{v}\rangle \ge C_1 (\Vert r_h\Vert _{0,\varOmega }^2 + \Vert \varvec{\xi }_h \Vert _{-\frac{1}{2}}^2) \end{aligned}$$
(4.3)

and

$$\begin{aligned} \Vert \varvec{v}\Vert _{1,\varOmega }^2 \le C_2( \Vert r_h\Vert _{0,\varOmega }^2 + \Vert \varvec{\xi }_h \Vert _{-\frac{1}{2}}^2) \end{aligned}$$
(4.4)

where \(C_1, C_2 > 0\). Let \(\widetilde{\varvec{v}}\in \varvec{V}_h\) be the Clemént interpolant of \(\varvec{v}\) with the properties

$$\begin{aligned} \left( \sum _{T \in \mathscr {T}_h} h_T^{-2} \Vert \varvec{v}- \widetilde{\varvec{v}} \Vert _{0,T}^2\right) ^{1/2} + \left( \sum _{E \in \mathscr {G}_h} h_E^{-1} \Vert \varvec{v}- \widetilde{\varvec{v}} \Vert _{0,E}^2\right) ^{1/2} \le C_{i,1} \Vert \varvec{v}\Vert _{1,\varOmega } \end{aligned}$$
(4.5)

and

$$\begin{aligned} \Vert \widetilde{\varvec{v}} \Vert _{1,\varOmega } \le C_{i,2} \Vert \varvec{v}\Vert _{1,\varOmega }. \end{aligned}$$
(4.6)

Choosing \((\varvec{v}_h, q_h, \varvec{\mu }_h) = (-\widetilde{\varvec{v}}, 0, \varvec{0})\) gives

$$\begin{aligned} \begin{aligned}&\mathscr {B}_h(\varvec{w}_h, r_h, \varvec{\xi }_h; -\widetilde{\varvec{v}}, 0, \varvec{0})\\&= -a(\varvec{w}_h, \widetilde{\varvec{v}}) + (r_h, \textrm{div}\,\widetilde{\varvec{v}}) + \langle \varvec{\xi }_h, \widetilde{\varvec{v}} \rangle + \alpha _1 \mathscr {S}_h^1(\varvec{w}_h, r_h; \widetilde{\varvec{v}}, 0)\\&\quad + \alpha _2 \mathscr {S}_h^2(\varvec{w}_h, r_h, \varvec{\xi }_h; \widetilde{\varvec{v}}, 0, \varvec{0}). \end{aligned} \end{aligned}$$
(4.7)

The first term in 4.7 can be bounded using the continuity of a, Young’s inequality with a constant \(\delta _1 > 0\), and the interpolation property 4.6. This leads to the bound

$$\begin{aligned} - \frac{C_\text {cont.} \delta _1}{2} \Vert \varvec{w}_h \Vert _{1,\varOmega }^2 - \frac{C_\text {cont.} C_{i,2}}{2\delta _1} \Vert \varvec{v}\Vert _{1,\varOmega }^2. \end{aligned}$$
(4.8)

The second and the third terms are bounded using integration by parts, Cauchy–Schwarz inequality, the bound 4.3 and the properties of the Clemént interpolant as follows:

$$\begin{aligned} \begin{aligned}&(r_h, \textrm{div}\,\widetilde{\varvec{v}}) + \langle \varvec{\xi }_h, \widetilde{\varvec{v}} \rangle \\&=-(r_h, \textrm{div}\,(\varvec{v}-\widetilde{\varvec{v}})) - \langle \varvec{\xi }_h,\varvec{v}- \widetilde{\varvec{v}} \rangle + (r_h, \textrm{div}\,\varvec{v}) + \langle \varvec{\xi }_h, \varvec{v}\rangle \\&\ge - \sum _{T \in \mathscr {T}_h} h_T \Vert \nabla r_h \Vert _{0,T} h_T^{-1} \Vert \varvec{v}- \widetilde{\varvec{v}} \Vert _{0,T} - \sum _{E \in \mathscr {G}_h} h_E^{1/2} \Vert \varvec{\xi }_h \Vert _{0,E} h_E^{-1/2} \Vert \varvec{v}- \widetilde{\varvec{v}} \Vert _{0,E} \\&\qquad + C_1(\Vert r_h\Vert _{0,\varOmega }^2 + \Vert \varvec{\xi }_h \Vert _{-\frac{1}{2}}^2) \\&\ge - \left( \left( \sum _{T \in \mathscr {T}_h} h_T^2 \Vert \nabla r_h \Vert _{0,T}^2\right) ^{1/2}+ \left( \sum _{E \in \mathscr {G}_h} h_E \Vert \varvec{\xi }_h \Vert _{0,E}^2\right) ^{1/2}\right) C_{i,1} \Vert \varvec{v}\Vert _{1,\varOmega } \\&\qquad + C_1(\Vert r_h\Vert _{0,\varOmega }^2 + \Vert \varvec{\xi }_h \Vert _{-\frac{1}{2}}^2). \end{aligned} \end{aligned}$$
(4.9)

After applying Young’s inequality with constants \(\delta _2, \delta _3 > 0\), we finally obtain

$$\begin{aligned} \begin{aligned}&(r_h, \textrm{div}\,\widetilde{\varvec{v}}) + \langle \varvec{\xi }_h, \widetilde{\varvec{v}} \rangle \\&\ge - \frac{C_{i,1} \delta _2}{2} \sum _{T \in \mathscr {T}_h} h_T^2 \Vert \nabla r_h \Vert _{0,T}^2 - \frac{C_{i,1} \delta _3}{2} \sum _{E \in \mathscr {G}_h} h_E \Vert \varvec{\xi }_h \Vert _{0,E}^2 \\&\qquad - \left( \frac{C_{i,1}}{2 \delta _2} + \frac{C_{i,1}}{2 \delta _3} \right) \Vert \varvec{v}\Vert _{1,\varOmega }^2 + C_1(\Vert r_h\Vert _{0,\varOmega }^2 + \Vert \varvec{\xi }_h \Vert _{-\frac{1}{2}}^2). \end{aligned} \end{aligned}$$
(4.10)

Next, we bound the two stabilisation terms in 4.7. The first can be bounded from below as follows:

$$\begin{aligned} \begin{aligned}&\alpha _1 \mathscr {S}_h^1(\varvec{w}_h, r_h; \widetilde{\varvec{v}}, 0) = \alpha _1 \sum _{T \in \mathscr {T}_h} h_T^2(A\varvec{w}_h+\nabla r_h,A\widetilde{\varvec{v}})_T\\&\qquad \ge -\alpha _1 \left( \sum _{T \in \mathscr {T}_h} h_T \Vert A\varvec{w}_h\Vert _{0,T}+\sum _{T \in \mathscr {T}_h} h_T \Vert \nabla r_h\Vert _{0,T}\right) \, \sum _{T \in \mathscr {T}_h} h_T\Vert A\widetilde{\varvec{v}}\Vert _{0,T}\\&\qquad \ge -\alpha _1 \left( \left( \sum _{T \in \mathscr {T}_h} h_T^2 \Vert A\varvec{w}_h\Vert _{0,T}^2\right) ^{1/2}+\left( \sum _{T \in \mathscr {T}_h} h_T^2\Vert \nabla r_h\Vert _{0,T}^2\right) ^{1/2}\right) \\&\qquad \qquad \qquad \cdot \left( \sum _{T \in \mathscr {T}_h} h_T^2\Vert A\widetilde{\varvec{v}}\Vert _{0,T}^2\right) ^{1/2}. \end{aligned} \end{aligned}$$

Given that

$$\begin{aligned} \sum _{T \in \mathscr {T}_h} h_T^2 \Vert A\varvec{w}_h\Vert _{0,T}^2 \le C_{I,1}^{-1} a(\varvec{w}_h,\varvec{w}_h)\le CC_{I,1}^{-1} \Vert \varvec{w}_h\Vert _{1,\varOmega }^2, \end{aligned}$$
(4.11)

and similarly for \(\widetilde{\varvec{v}}\), we conclude, using Young’s inequality, 4.4 and 4.6, that

$$\begin{aligned} \begin{aligned}&\alpha _1 \mathscr {S}_h^1(\varvec{w}_h, r_h; \widetilde{\varvec{v}}, 0)\\&\qquad \ge -\alpha _1 CC_{I,1}^{-1}\left( \frac{\delta _4}{2} CC_{I,1}^{-1} \Vert \varvec{w}_h\Vert _{1,\varOmega }^2+\frac{\delta _5}{2} \sum _{T \in \mathscr {T}_h} h_T^2\Vert \nabla r_h\Vert _{0,T}^2 \right. \\&\qquad \hspace{2.5cm} \left. +C_{i,2}^2C_2\left( \frac{1}{2\delta _4}+\frac{1}{2\delta _5}\right) \left( \Vert r_h\Vert _{0,\varOmega }^2 + \Vert \varvec{\xi }_h \Vert _{-\frac{1}{2}}^2\right) \right) . \end{aligned} \end{aligned}$$
(4.12)

The second stabilisation term in 4.7 is bounded using Lemmas 1 and 2, Young’s inequality as well as bounds 4.4 and 4.6.

$$\begin{aligned} \begin{aligned}&\alpha _2 \,\mathscr {S}_h^2(\varvec{w}_h, r_h, \varvec{\xi }_h; \widetilde{\varvec{v}}, 0, \varvec{0}) = \alpha _2\sum _{E \in \mathscr {G}_h} h_E\left( \varvec{\xi }_h-\varvec{\sigma }(\varvec{w}_h,r_h)\varvec{n},-\varvec{\sigma }(\widetilde{\varvec{v}},0)\varvec{n}\right) _E\\&\qquad =- \alpha _2\sum _{E \in \mathscr {G}_h} h_E\left( \varvec{\xi }_h,2\mu \varvec{D}(\widetilde{\varvec{v}})\varvec{n}\right) _E+\alpha _2 \sum _{E \in \mathscr {G}_h} h_E\left( \varvec{\sigma }(\varvec{w}_h,r_h)\varvec{n},2\mu \varvec{D}(\widetilde{\varvec{v}})\varvec{n}\right) _E\\&\qquad \ge -\alpha _2 \frac{\delta _6}{2} \sum _{E \in \mathscr {G}_h} h_E\Vert \varvec{\xi }_h\Vert _{0,E}^2 - \alpha _2 C_{I,2}^{-1}C \frac{\delta _7}{2}\Vert \varvec{w}_h\Vert _{1,\varOmega }^2 \\&\qquad \qquad \qquad + C_{i,2}^2C_2C_T^{-1} \left( \frac{1}{2\delta _6}+\frac{1}{2\delta _7}\right) \left( \Vert r_h\Vert _{0,\varOmega }^2 + \Vert \varvec{\xi }_h \Vert _{-\frac{1}{2}}^2\right) \end{aligned} \end{aligned}$$

(Step 3.) Finally, we combine steps 1 and 2 by showing that if we choose \((\varvec{v}_h, q_h, \varvec{\mu }_h) = (\varvec{w}_h - \varepsilon \widetilde{\varvec{v}}, r_h, -\varvec{\xi }_h)\), we can guarantee that \(\varepsilon > 0\) and the other constants \(\delta _i\), \(i=1,\dots ,7\), remaining from application of Young’s inequalities can be chosen in such a way that the coefficients of the terms comprising the norm \(\left| \left| \left| . \right| \right| \right| _h\) remain positive.

5 Error analysis

Let \(\varvec{f}_h\) be the \(L^2\)-projection of \(\varvec{f}\) onto \(\varvec{V}_h\) and, for \(T\in \mathscr {T}_h\), define

$$\begin{aligned}\textrm{osc}_T\varvec{f}=h_T \Vert \varvec{f}- \varvec{f}_h \Vert _{0,T}, \qquad \textrm{osc}\,\varvec{f}= \left( \sum _{T \in \mathscr {T}_h} (\textrm{osc}_{T}\varvec{f})^2 \right) ^{1/2}. \end{aligned}$$

Below we denote by \(T(E) \in \mathscr {T}_h\) the element which has \(E \in \mathscr {G}_h\) as one of its facets. The proofs of the following lemmas can be found, e.g., in [14] and [27, 28].

Lemma 3

(Lower bound for the boundary residual) For any \((\varvec{w}_h, r_h, \varvec{\xi }_h) \in \varvec{V}_h \times Q_h \times \varvec{\varLambda }_h\) it holds that

$$\begin{aligned}&\left( \sum _{E \in \mathscr {G}_h} h_E \Vert \varvec{\xi }_h - \varvec{\sigma }(\varvec{w}_h, r_h)\varvec{n}\Vert _{0,E}^2\right) ^{1/2} \\&\qquad \lesssim \left| \left| \left| (\varvec{u}- \varvec{w}_h, p - r_h, \varvec{\lambda }- \varvec{\xi }_h) \right| \right| \right| + \left( \sum _{E \in \mathscr {G}_h} (\textrm{osc}_{T(E)}\varvec{f})^2 \right) ^{1/2}. \end{aligned}$$

where \((\varvec{u}, p, \varvec{\lambda }) \in \varvec{V} \times Q \times \varvec{\varLambda }\) is the solution to 3.1.

Lemma 4

(Lower bound for the interior residual) For any \((\varvec{w}_h, r_h) \in \varvec{V}_h \times Q_h\) it holds that

$$\begin{aligned} \left( \sum _{T \in \mathscr {T}_h} h_T^2 \Vert \varvec{A}\varvec{w}_h + \nabla r_h + \varvec{f}\Vert _{0,T}^2\right) ^{1/2} \lesssim \Vert \varvec{u}- \varvec{w}_h \Vert _1 + \Vert p - r_h\Vert _0 + \textrm{osc}\,\varvec{f}\end{aligned}$$

where \((\varvec{u}, p) \in \varvec{V} \times Q\) is the solution to 3.1.

We can now show the quasi-optimality of the method, i.e. a best approximation result with an additional term due to the inequality constraint.

Theorem 3

(Quasi-optimality) For any \((\varvec{w}_h, r_h, \varvec{\mu }_h) \in \varvec{V}_h \times Q_h \times \varvec{\varLambda }_h\), it holds

$$\begin{aligned} \begin{aligned}&\left| \left| \left| (\varvec{u}- \varvec{u}_h, p - p_h, \varvec{\lambda }- \varvec{\lambda }_h) \right| \right| \right| \\&\quad \lesssim \left| \left| \left| (\varvec{u}- \varvec{w}_h, p - r_h, \varvec{\lambda }- \varvec{\mu }_h) \right| \right| \right| + \sqrt{\langle \varvec{\mu }_h - \varvec{\lambda }, \varvec{u}\rangle } + \textrm{osc}\,\varvec{f}, \end{aligned} \end{aligned}$$
(5.1)

where \((\varvec{u}_h, p_h, \varvec{\lambda }_h)\) denotes the solution to Problem 2.

Proof

Let \((\varvec{w}_h, r_h, \varvec{\mu }_h) \in \varvec{V}_h \times Q_h \times \varvec{\varLambda }_h\) be arbitrary. Then by the discrete stability estimate 4.2 there exists \((\varvec{v}_h, q_h) \in \varvec{V}_h \times Q_h\), with the property \(\left| \left| \left| (\varvec{v}_h, q_h, \varvec{\lambda }_h - \varvec{\mu }_h) \right| \right| \right| _h = 1\), such that

$$\begin{aligned} \begin{aligned}&\left| \left| \left| (\varvec{u}_h - \varvec{w}_h, p_h - r_h, \varvec{\lambda }_h - \varvec{\mu }_h) \right| \right| \right| _h\\&\lesssim \mathscr {B}_h(\varvec{u}_h - \varvec{w}_h, p_h - r_h, \varvec{\lambda }_h - \varvec{\mu }_h; \varvec{v}_h, q_h, \varvec{\mu }_h - \varvec{\lambda }_h) \\&\lesssim \mathscr {B}_h(\varvec{u}_h, p_h, \varvec{\lambda }_h; \varvec{v}_h, q_h, \varvec{\mu }_h - \varvec{\lambda }_h) - \mathscr {B}_h(\varvec{w}_h, r_h, \varvec{\mu }_h; \varvec{v}_h, q_h, \varvec{\mu }_h - \varvec{\lambda }_h) \\&\lesssim \mathscr {L}_h(\varvec{v}_h, q_h) - \mathscr {B}(\varvec{u}, p, \varvec{\lambda }; \varvec{v}_h, q_h, \varvec{\mu }_h - \varvec{\lambda }_h) \\&\quad + \mathscr {B}(\varvec{u}- \varvec{w}_h, p - r_h, \varvec{\lambda }- \varvec{\mu }_h; \varvec{v}_h, q_h, \varvec{\mu }_h - \varvec{\lambda }_h)\\&\quad + \alpha _1 \mathscr {S}_h^1(\varvec{w}_h, r_h; \varvec{v}_h, q_h) + \alpha _2 \mathscr {S}_h^2(\varvec{w}_h, r_h, \varvec{\mu }_h; \varvec{v}_h, q_h, \varvec{\mu }_h - \varvec{\lambda }_h), \end{aligned} \end{aligned}$$
(5.2)

where in the last step we have used the discrete variational form and written out the discrete bilinear form. The first two terms on the right-hand side of 5.2 can be written as

$$\begin{aligned}&\mathscr {L}(\varvec{v}_h, q_h) - \mathscr {B}(\varvec{u}, p, \varvec{\lambda }; \varvec{v}_h, q_h, \varvec{\mu }_h - \varvec{\lambda }_h) - \alpha _1 \mathscr {F}_h(\varvec{v}_h, q_h) \\&= ( \varvec{u}, \varvec{\mu }_h - \varvec{\lambda }_h)_{\partial \varOmega }- \alpha _1 \mathscr {F}_h(\varvec{v}_h, q_h) \\&\le \langle \varvec{\mu }_h - \varvec{\lambda }, \varvec{u}\rangle - \alpha _1 \mathscr {F}_h(\varvec{v}_h, q_h) \end{aligned}$$

where the inequality follows from the inequality in 3.1. The third term is bounded using the continuity of the bilinear form \(\mathscr {B}\) and the final two stabilisation terms are bounded using Cauchy–Schwarz inequality and Lemmas 1, 3 and 4. The proof is completed using the trivial bound

$$\begin{aligned} \left| \left| \left| (\varvec{u}_h - \varvec{w}_h, p_h - r_h, \varvec{\lambda }_h - \varvec{\mu }_h) \right| \right| \right| \le \left| \left| \left| (\varvec{u}_h - \varvec{w}_h, p_h - r_h, \varvec{\lambda }_h - \varvec{\mu }_h) \right| \right| \right| _h \end{aligned}$$

and the triangle inequality.

Using a continuous pressure, we can consider the finite element spaces

$$\begin{aligned} \varvec{V}_h&= \{ \varvec{v}\in \varvec{V} : \varvec{v}|_{T} \in P_k(T)^d~\forall T \in \mathscr {T}_h\}, \end{aligned}$$
(5.3)
$$\begin{aligned} Q_h&= \{ q \in Q \cap C(\varOmega ) : q|_T \in P_l(T)~\forall T \in \mathscr {T}_h\},\end{aligned}$$
(5.4)
$$\begin{aligned} \varvec{M}_h&= \{ \varvec{\mu }\in \varvec{M} : \varvec{\mu }|_E \in P_m(E)^d~\forall E \in \mathscr {G}_h\}, \end{aligned}$$
(5.5)

where \(k,l\ge 1\) and \(m\ge 0\) are the polynomial orders. Alternatively, we may consider a discontinuous pressure which, however, requires a quadratic velocity, \(k \ge 2\). It is also possible to use a continuous Lagrange multiplier together with any valid velocity–pressure combination.

Remark 3

The analysis up to this point is valid for \(d \in \{ 2, 3 \}\) and for any \(k, l \ge 1\) and \(m \ge 0\). However, proving an optimal a priori error estimate based on the quasi-optimality result shown in Theorem 3 requires further assumptions. For instance, in the two-dimensional case, assuming that \(\varvec{\lambda }\in H^{1/2}(\partial \varOmega )^2\), then \(|\varvec{\lambda }_t| \le \kappa \) holds pointwise and it should be clear that also \(|(\Pi _{\varvec{M}_h}\varvec{\lambda })_t| \le \kappa \) where \(\Pi _{\varvec{M}_h}\) is the \(L^2\)-projection onto \(\varvec{M}_h\). This implies that \(\Pi _{\varvec{M}_h}\varvec{\lambda }\in \varvec{\varLambda }_h\) and, consequently, allows us to write the bound

$$\begin{aligned} \Vert \varvec{\lambda }- \varvec{\mu }_h \Vert _{-\frac{1}{2}} = \Vert \varvec{\lambda }- \Pi _{\varvec{M}_h}\varvec{\lambda }\Vert _{-\frac{1}{2}} \le \Vert \varvec{\lambda }- \Pi _{\varvec{M}_h}\varvec{\lambda }\Vert _{0,\varOmega } \lesssim h. \end{aligned}$$

Assuming, moreover, that \(\varvec{u}\in H^2(\varOmega )^2\), one thus obtains an optimal a priori estimate for the lowest order elements given that

$$\begin{aligned}&\sqrt{(\varvec{\mu }_h - \varvec{\lambda }, \varvec{u})_{\partial \varOmega }} \\&=\sqrt{(\Pi _{\varvec{M}_h}\varvec{\lambda }- \varvec{\lambda }, \varvec{u})_{\partial \varOmega }} \\&= \sqrt{(\Pi _{\varvec{M}_h}\varvec{\lambda }- \varvec{\lambda }, \varvec{u}-\Pi _{\varvec{V}_h}\varvec{u})_{\partial \varOmega }} \\&\le \sqrt{\Vert \varvec{\lambda }- \Pi _{\varvec{M}_h}\varvec{\lambda }\Vert _{0,\partial \varOmega } \Vert \varvec{u}-\Pi _{\varvec{V}_h}\varvec{u}\Vert _{0,\partial \varOmega }} \lesssim h, \end{aligned}$$

where \(\Pi _{\varvec{V}_h}\) denotes the Lagrange interpolant onto \(\varvec{V}_h\).

6 Solution algorithm

We next derive our solution algorithm, also known as Uzawa iteration, following the steps given in He and Glowinski [15]. The derivation is given in detail because the algorithm includes additional terms due to the stabilisation.

The discrete variational problem can be split into

$$\begin{aligned} \mathscr {B}_h(\varvec{u}_h, p_h, \varvec{\lambda }_h; \varvec{v}_h, q_h, \varvec{0}) = \mathscr {L}_h(\varvec{v}_h, q_h) \end{aligned}$$
(6.1)

and

$$\begin{aligned} - \int _{\partial \varOmega } \varvec{u}_h \cdot ( \varvec{\mu }_h - \varvec{\lambda }_h )\,\textrm{d}s - \alpha _2 \sum _{E \in \mathscr {G}_h} h_E \int _{E} (\varvec{\lambda }_h - \varvec{\sigma }(\varvec{u}_h, p_h)\varvec{n}) \cdot (\varvec{\mu }_h - \varvec{\lambda }_h) \,\textrm{d}s \le 0.\nonumber \\ \end{aligned}$$
(6.2)

Combining the two terms we equivalently have

$$\begin{aligned} -\int _{\partial \varOmega } \Pi _{\varvec{M}_h}(\varvec{u}_h + \alpha _2 h_{\partial \varOmega }(\varvec{\lambda }_h - \varvec{\sigma }(\varvec{u}_h, p_h)\varvec{n})) \cdot (\varvec{\mu }_h - \varvec{\lambda }_h) \,\textrm{d}s \le 0, \end{aligned}$$

where \(h_{\partial \varOmega }\) is the boundary mesh size function and \(\Pi _{\varvec{M}_h}\) is the \(L^2\)-projection onto \(\varvec{M}_h\). Now multiplying by an arbitrary \(\rho >0\), and adding and subtracting \(\varvec{\lambda }_h\) leads to

$$\begin{aligned} \int _{\partial \varOmega } (\varvec{\lambda }_h-\rho \,\Pi _{\varvec{M}_h}(\varvec{u}_h + \alpha _2 h_{\partial \varOmega }(\varvec{\lambda }_h - \varvec{\sigma }(\varvec{u}_h, p_h)\varvec{n})) - \varvec{\lambda }_h) \cdot (\varvec{\mu }_h - \varvec{\lambda }_h) \,\textrm{d}s \le 0. \end{aligned}$$

The above form implies that \(\varvec{\lambda }_h\) is equal to the orthogonal projection of

$$\begin{aligned} \varvec{\lambda }_h-\rho \,\Pi _{\varvec{M}_h}(\varvec{u}_h + \alpha _2 h_{\partial \varOmega }(\varvec{\lambda }_h - \varvec{\sigma }(\varvec{u}_h, p_h)\varvec{n})) \end{aligned}$$

onto the constrained space \(\varvec{\varLambda }_h\). The orthogonal projection can be written explicitly as

$$\begin{aligned} \varvec{P}(\varvec{\xi }) = (\varvec{\xi }\cdot \varvec{n}) \varvec{n}+ \frac{\kappa (\varvec{\xi }- (\varvec{\xi }\cdot \varvec{n}) \varvec{n})}{\max (\kappa , |\varvec{\xi }- (\varvec{\xi }\cdot \varvec{n}) \varvec{n}|)} \end{aligned}$$

which can be interpreted as enforcing the maximum length of the tangential component to \(\kappa \). As a conclusion, the inequality constraint 6.2 can be reformulated as the equality constraint

$$\begin{aligned} \varvec{\lambda }_h = \varvec{P}(\varvec{\lambda }_h-\rho \,\Pi _{\varvec{M}_h}(\varvec{u}_h + \alpha _2 h_{\partial \varOmega }(\varvec{\lambda }_h - \varvec{\sigma }(\varvec{u}_h, p_h)\varvec{n})))~~\text {a.e. on}\,\partial \varOmega . \end{aligned}$$
(6.3)

Algorithm 1

(Uzawa iteration) Let \((\varvec{u}_h^0, p_h^0, \varvec{\lambda }_h^0)\) be an initial guess, \(TOL > 0\) be a stopping tolerance and set \(i \leftarrow 1\).

  1. 1.

    Calculate \(\varvec{\lambda }_h^i = \varvec{P}(\varvec{\lambda }_h^{i-1} - \rho \, \Pi _{\varvec{M}_h}(\varvec{u}_h^{i-1} + \alpha _2 h_{\partial \varOmega }(\varvec{\lambda }_h^{i-1} - \varvec{\sigma }(\varvec{u}_h^{i-1}, p_h^{i-1})\varvec{n}))\).

  2. 2.

    Solve for \((\varvec{u}_h^i, p_h^i)\) in \(\mathscr {B}_h(\varvec{u}^i_h, p_h^i, \varvec{0}; \varvec{v}_h, q_h, \varvec{0}) = \mathscr {L}_h(\varvec{v}_h, q_h) + \langle \varvec{\lambda }_h^i, \varvec{v}_h \rangle \).

  3. 3.

    Stop if \(\Vert \varvec{\lambda }_h^i - \varvec{\lambda }_h^{i-1}\Vert _0 / \Vert \varvec{\lambda }_h^i \Vert _0 < TOL\). Otherwise set \(i \leftarrow i + 1\) and go to Step 1.

Remark 4

An assumption is made in Step 1 of Algorithm 1 that the orthogonal projection \(\varvec{P}\) can be performed directly on the discrete function. This is true, e.g., if the Lagrange multiplier is approximated by a piecewise constant function or a discontinuous, piecewise linear function.

7 Numerical experiment

The numerical results are calculated with the help of the software package scikit-fem [12]. The source code is available in [11].

Fig. 1
figure 1

Some meshes from the uniform sequence

Fig. 2
figure 2

The velocity magnitude (top) and the pressure (bottom) computed using the finest mesh in the uniform sequence

Fig. 3
figure 3

The components of the discrete Lagrange multiplier solution at the boundary \(x=1\) plotted for four different meshes from coarsest (top) to finest (bottom)

Fig. 4
figure 4

The convergence of the error in the velocity

Fig. 5
figure 5

The convergence of the error in the pressure

Fig. 6
figure 6

The convergence of the error in the Lagrange multiplier

Fig. 7
figure 7

The mesh (top), the velocity magnitude (middle) and the pressure (bottom) for the curved boundary experiment

7.1 Convergence study

In the first example, we consider the lowest order method with \(k=l=1\), \(m=0\), and solve the problem within the domain \(\varOmega = (-1,1)^2\) using the material parameter values \(\kappa = 0.3\), \(\mu =1\), and the loading function

$$\begin{aligned} \varvec{f}= (-y, x). \end{aligned}$$

We have set the numerical parameters to \(\rho =0.4\), \(\alpha _1=\alpha _2=10^{-2}\), \(TOL=10^{-5}\) and solve the same problem using a sequence of uniformly refined meshes; cf. Fig. 1. The Uzawa parameter \(\rho =0.4\) is close to its upper bound (see, e.g., [15] for more information) which we have found by trial-and-error in order to reduce the number of iterations required. The stabilisation parameters \(\alpha _1\) and \(\alpha _2\) have been chosen, for simplicity, to be equal while \(\alpha _2\) is close to its upper bound, as given by Theorem 2.

Fig. 8
figure 8

The magnitude of the tangential Lagrange multiplier on the top and the bottom boundaries for the curved boundary experiment. Note that the Lagrange multiplier is elementwise constant and here the values are sampled at the element midpoints

The components \(u_h\) and \(p_h\) of the discrete solution, calculated using the finest mesh in the sequence, are visualized in Fig. 2 while the discrete Lagrange multipliers for some of the meshes are given in Fig. 3. As seen in the Figures, the fluid, which is flowing counterclockwise, is slipping along the middle part of all four sides of the boundary.

In the absence of an analytical solution, we have calculated the relative errors in the discrete solutions between two subsequent meshes in Figs. 4, 5 and 6. Note that the relative error can be shown to converge at similar rates as the absolute error by using the triangle inequality, e.g.,

$$\begin{aligned} \Vert \varvec{u}_{2h} - \varvec{u}_h \Vert _{1,\varOmega } = \Vert \varvec{u}_{2h} - \varvec{u}+ \varvec{u}- \varvec{u}_h \Vert _{1,\varOmega } \le \Vert \varvec{u}_{2h} - \varvec{u}\Vert _{1,\varOmega } + \Vert \varvec{u}- \varvec{u}_h \Vert _{1,\varOmega } \le Ch. \end{aligned}$$

The numerical results suggest that the total error converges linearly as the observed rate is linear for the velocity and the pressure, and superlinear for the Lagrange multiplier.

7.2 Curved boundary

In the second example, we demonstrate how the lowest order method performs with curved boundaries. The domain is now chosen as the half unit circle

$$\begin{aligned} \varOmega = \{ (x, y): x^2 + (y - 0.5)^2< 1, y < 0.5 \}, \end{aligned}$$

and the parameters \(\kappa = \rho = 0.1\). The other parameters are as in the previous example. The resulting velocity and pressure fields are depicted in Fig. 7. The tangential Lagrange multipliers are depicted in Fig. 8.

8 Conclusions

We have introduced a stabilised finite element method for the mixed approximation of the Stokes problem with a nonlinear slip boundary condition of friction type. We have proven the stability of the method and provided an a priori error estimate, together with numerical experiments demonstrating the lowest order variant.