I have tried to solve the driven cavity problem with incompressible Stokes flow using the standard Crouzeix-Raviart non-conforming P1/P0 element (linear velocity, constant pressure, velocity-nodes at the midpoint of the edges). The velocity $u = (u_1 \; u_2) = (1 \; 0)$ on the top side of the domain and zero on the other three sides. As seen in the picture below, the problem is solved fine for Stokes on standard fluid-form, i.e. when the "velocity-block" comes from the functional
$a(u,v) = \int_{\Omega}\mu\nabla u\cdot \nabla v$ dx.
However, switching to the (equivalent in the continuous case) elasticity-form, with
$a(u,v) = \int_{\Omega}\varepsilon(u)^TD\varepsilon(v)$ dx,
where $\varepsilon(u) = (\partial u_1/\partial x \;\; \partial u_2/\partial y \;\; (\partial u_1/\partial y+\partial u_2/\partial x)/2)^T$ and $D=\mbox{diag}(2\mu,\;2\mu,\;\mu)$, the velocity and (and pressure field) looks very strange (despite the system matrix being non-singular):
I know that the elasticity form will not work for Neumann boundary conditions because we can get "rigid body motions", but in this case I only have Dirichlet boundary conditions, hence I'm a bit surprised that the element doesn't work. I have successfully solved the elasticity form with a stabilized version of the conforming P1/P0 element as well as the Q1/P0 (with unstable pressure). Hence, there should be nothing wrong with the elasticity form itself. So, do you think I've simply made some mistake in my implementation, or is there some fundamental problem arising when using Crouzeix-Raviart for the elasticity form?