Quad Mesh Fails during evaluation on coordinates

If you are only interested in the function values at physical coordinates where there are degrees of freedom, you can access the function vector directly.

u=Function(V)
arr= u.vector().get_local()

The order in the array follows
X= V.tabulate_dof_coordinates()
Evaluate basis is used because if you evaluate a function at a non-dof coordinate, a linear combination of dof values has to be made