I've coded up a Stokes Flow problem using finite elements and am in the process of verifying that it works. I'm just not sure what convergence rate I should be expecting as I globally refine the mesh.

I know for scalar problems using linear basis functions I'd expect order $h^2$ convergence ($h$ is element size), and using quadratic basis functions I'd expect order $h^3$ convergence in the $L^2$ norm and one power less in the $H^1$ seminorm. The problem I'm having now is that when coding Stokes flow I used the Taylor-Hood element which uses linears for the pressure and quadratic for the velocity components. Is it as simple as the velocities converging at $h^3$ and the pressure at order $h^2$?

I posted this on mathoverflow first and was told it might be better suited to this forum.


1 Answer 1


The Taylor-Hood approximation of the Stokes flow is a mixed finite element method, for which error estimates generally have the form $$ \|u-u_h\|_V + \|p-p_h\|_M \leq C (\inf_{w_h\in V_h}\|u-w_h\|_V + \inf_{q_h\in M_h}\|p-q_h\|_M), \tag{1} $$ where $(u,p)\in V\times M$ is the exact solution and $(u_h,p_h)\in V_h\times M_h$ is the approximation. For the Stokes flow, $V=H^1_0(\Omega)^d$ and $M = L^2(\Omega)$ (with mean value zero). For the $P_2$-$P_1$-Taylor-Hood element, $V_h$ consists of continuous piecewise quadratic polynomials and $M_h$ of continuous piecewise linear polynomials, for which both terms on the right hand side can be bounded by quadratic approximation errors using standard arguments (e.g., Bramble-Hilbert lemma and transformation rules): $$ \begin{aligned} \inf_{w_h\in V_h}\|u-w_h\|_{H^1} &\leq C h^2\|u\|_{H^3}\\ \inf_{q_h\in M_h}\|p-q_h\|_{L^2} &\leq C h^2\|p\|_{H^2}\\ \end{aligned} $$ (rule-of-thumb "number of derivatives on the left $+$ powers of $h$ $=$ number of derivatives on the right"). Inserting this into $(1)$ yields $$\|u-u_h\|_{H^1} + \|p-p_h\|_{L^2} \leq C h^2(\|u\|_{H^3} + \|p\|_{H^2}).$$ (assuming that the exact solution is in fact regular enough).

Since both the continuous and the discrete Stokes problem are an upper triangular coupled linear system of the form $$\begin{aligned} Au + B^* p &= f\\ Bu &=0\end{aligned}$$ the error estimate (which exploits that the difference of the solutions satisfies a similar system for $A_h$ and $B_h$ and uses the invertibility of $A$ on the kernel of $B$) for $u-u_h$ depends in general on the error in $p-p_h$.

However, if you look at the proof, there's a loop hole: If the null space of $B_h$ is contained in the null space of $B$, then the coupling term in fact drops out, and you obtain an error estimate involving $u$ only: $$\|u-u_h\|_{H^1} \leq C h^2 \|u\|_{H^3}$$ From there, you can apply the standard Aubin-Nitsche trick (if the adjoint equation is well-posed, which is the case if the domain $\Omega$ is regular enough -- a convex polygon in 2D or has a boundary which can be parametrized by a Lipschitz differentiable function) to obtain a convergence rate for the $L^2$-error of one order higher: $$\|u-u_h\|_{L^2} \leq C h^3 \|u\|_{H^3}$$

You can find these results in Ern, Guermond: Theory and Practice of Finite Elements, Springer, 2004. (The error estimates are collected in Theorem 4.26, while the necessary regularity for $\Omega$ is defined in Lemma 4.17; the proofs are unfortunately scattered across the book, and I think $\ker B_h\subset \ker B$ is nowhere verified explicitly.)

  • $\begingroup$ It looks like you put a lot of work into compiling this answer. I really do appreciate it. Can you clarify where you got the estimate: $\|u-u_h\|_{H^1} + \|p-p_h\|_{L^2} \leq C h^2(\|u\|_{H^3} + \|p\|_{H^2})$, or is that just given? $\endgroup$ Commented Jul 16, 2014 at 18:23
  • 1
    $\begingroup$ No problem, glad if it's of some help. The estimate comes from plugging the standard interpolation errors into the first estimate; I've added that step. $\endgroup$ Commented Jul 16, 2014 at 18:29
  • $\begingroup$ Experimentally (using a box domain that cannot be parameterized by a differentiable function) I'm getting $h^2$ convergence in $L^2$ and $h$ convergence in $H^1$ for the entire system. $\endgroup$ Commented Jul 16, 2014 at 20:13
  • 1
    $\begingroup$ Hmm, then I don't have much of an idea at the moment. This is really more of a new question, which people more familiar with Stokes problems are better equipped to answer. Why don't you ask a new question (use the link below), where you describe exactly which problem you are solving (right hand side, boundary conditions, geometry, exact solution), what you expect to see and what you are getting instead? (If the deal.II code is small enough, you can post that as well; some of the main developers are frequent contributors here.) $\endgroup$ Commented Jul 16, 2014 at 21:14
  • 1
    $\begingroup$ It turns out that I was looking at the incorrect components in my solution. When I look at the correct components I get $h^3$ in $L^2$ and $h^2$ in $H^1$ for the velocities and 1 power less for the pressure. $\endgroup$ Commented Jul 17, 2014 at 19:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.