CG2 for poisson equation should be 3rd order L2 convergence but for some reason I am getting near 4th order convergence. If I use DG2 elements, I get the 3rd order convergence as theory suggests. Why is this happening? Below is the snippet of my code mesh = UnitSquareMesh(20,20,quadrilateral=False) Q = FunctionSpace(mesh,CG,2) ... x = SpatialCoordinate(Q.mesh()) u_exact = interpolate(sin(2*x[0]**2*math.pi)*sin(2*x[1]**2*math.pi),Q) f = interpolate( 16*math.pi**2*sin(2*math.pi*x[0]**2)*sin(2*math.pi*x[1]**2 )*(x[0]**2+x[1]**2) - 4*math.pi*(cos(2*math.pi*x[0]**2)*sin(2*math.pi*x[1]**2) + sin(2 *math.pi*x[0]**2)*cos(2*math.pi*x[1]**2)),Q) ... L2_error = errornorm(u_exact,u_h) I never had this "problem" earlier this year when I ran CG2 experiments (though I didn't use the UFL format, but I don't think that's the problem here). Justin