Looking at the online Stokes examples, (e.g., number 16 with iterative solver), I want to apply P2/P0 and perhaps P2/(P1+P0) element combination. For instance, in the latter case I figured all I had to do was change this
V = VectorFunctionSpace(mesh, "CG", 2)
Q = FunctionSpace(mesh, "CG", 1)
W = V * Q
to
V = VectorFunctionSpace(mesh, "CG", 2)
Q = FunctionSpace(mesh, "CG", 1)
P = FunctionSpace(mesh, "DG", 0)
W = V * (Q + P)
While leaving everything else the same. For P2/P0 I would simply change Q to "DG" and order 0. But when I do, I get the following pressure results (LHS is P2/(P1+P0), RHS is P2/P1 )
If I did P2/P0 I also get a similar result as the LHS image. My velocity solutions are not negatively affected (in fact, they are "better" because they are now locally conservative).
How would I solve a P2/(P1+P0) (or even a P2/P0) such that my pressure solutions do not get screwed up? Would it have something to do with how I apply my pressure boundary conditions?