Typically I have seen P2/P1 elements used for Stokes equation, but I want to use P2/(P1+P0) and P2/P0 elements because I want to ensure local mass conservation. When I say P2/(P1+P0), I simply mean the concatenation of the basis for P1 and P0 separately.

I ran simple problems in FEniCS with both element pairs and while the velocity works great in both cases (i.e., element-wise conservative), the pressure does get a little screwed up.

I have been told mixed opinions about using anything with piecewise constants for pressure. I have heard that P2/P0 is not LBB stable for 3D elements (however, I fail to see this happening because I do not get node-to-node spurious oscilliations) although this could potentially explain why my pressure looks screwed up. I have also heard that P2/P0 should be doable in 3D (hence P2/(P1+P0) should work as well).

So I guess my question is, theoretically are P2/P0 and/or P2(P1+P0) elements stable and usable for 3D Stokes and Darcy problems?


1 Answer 1


The tables starting on page 462 of Gresho and Sani's book "Incompressible Flow and the Finite Element Method" say that $P_2 P_0$ is stable but first-order only and $P_2(P_1+P_0)$ is also stable but has two hydrostatic modes that you should account for. This is all for Stokes, so you should look for other references for Darcy flow.

  • $\begingroup$ thank you for pointing that book out. It says that P2P0 is stable for 2D elements but there is no mention of it for 3D. P2/(P1+P0) is listed in both, so I am guessing the latter is "the one" to use? Also, what is meant by hydrostatic modes? $\endgroup$
    – Justin
    Jun 10, 2015 at 18:58
  • $\begingroup$ @Justin, keep reading. The section starting on p. 469 and the parts especially on pp. 473-474 give some insight. Basically, the pressure may exhibit some strange behavior that is non-physical and may be exacerbated by choice of boundary conditions. $\endgroup$
    – Bill Barth
    Jun 10, 2015 at 20:16

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.